# 故事系統 <!-- 頁首通用模組 --> {%hackmd xcsnQTMQQ0SZQ9QF7YUp_g %} --- [TOC] --- > 無腦爆肝匠心手刻心路歷程。 > [name=Mibudin] --- ## References - Unity AVG - https://blog.csdn.net/weixin_44506615/article/details/108038857 - https://github.com/Lunatic-Works/Nova - Interpreter - https://codemag.com/Article/1607081/How-to-Write-Your-Own-Programming-Language-in-C - https://stackoverflow.com/questions/33031384/how-to-write-a-simple-interpreter-in-c - Programming language - http://ducklang.org/designing-a-programming-language-i - Regex - https://regex101.com/ - https://regexr.com/ ## Markup Languages Choosing - JSON - YAML - XML (***Chosen***) - Document type definition - XSD (***Chosen***) - [.NET Support](https://docs.microsoft.com/zh-tw/dotnet/standard/data/xml/xml-schema-xsd-validation-with-xmlschemaset) - [W3C Tutorial](https://www.w3schools.com/xml/schema_intro.asp) - DTD ## Script Design - [故事系統-腳本設計](/1mvMo6DURkS2OOaPdgEKCw) ## System Structure - `Prefabs` - `Unity UI` : `GameObject` - `SceneUI` - `StageCanvas` - `EntityUI` - `GuiCanvas` - `WindowUI` - `Controller` : `Monobehaviour` > Control Unity UI objects - `BaseController` - `SceneController` - `StageController` - `EntiryController` - `GuiController` - `WindowController` - `ModelData` > The actual data of models - `Model` > Data and components > (Including by referneces) > ==Plain or hierarchy?== - `BaseModel` - `SceneModel` (noid) - `StageModel` (noid, inter) - `GuiModel` (noid, inter) - `EntityModel` - `WindowModel` - `Commander` > Do script commands - `Cmd` - `BaseCommander` - `ProgramCommander` - `OuterCommander` - `SceneCommandeer` - `StageCommander` - `GuiCommander` - `EntityCommander` - `WindowCommander` - `Variable` - `GuidManager` - `RegisterManager` - `Parser` > Parse script commands - `StoryScriptParser` - `Agent` > Main agent - `StoryAgent`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up