public IEnumerator Deserialize(string path) //scn deserializer Created by skorakora (Daniel Skorski) { Editor_canvas_main editor_Canvas_Main = canvas.GetComponent <Editor_canvas_main>(); long LocalLoaderPosition = 0; int counter = 0; FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read); Globals.SCNLoaderInstanceCounter++; SceneryFileSize = file.Length + SceneryFileSize; string token; while (true) { counter++; if (counter == 100) { float progress; long filePositionChange; counter = 0; filePositionChange = file.Position - LocalLoaderPosition; LoaderPosition = filePositionChange + LoaderPosition; LocalLoaderPosition = filePositionChange + LocalLoaderPosition; progress = Convert.ToSingle((Convert.ToSingle(LoaderPosition) / Convert.ToSingle(SceneryFileSize)) * 100); editor_Canvas_Main.SetProgress(progress / 100); Debug.Log(progress + "%"); yield return(null); } token = parser.GetToken(file); if (token == "atmo") { Deserialize_Atmo(file); } else if (token == "camera") { Deserialize_Camera(file); } else if (token == "config") { Deserialize_Config(file); } else if (token == "description") { Deserialize_Description(file); } else if (token == "event") { Deserialize_Event(file); } else if (token == "FirstInit") { Deserialize_FirstInit(file); } else if (token == "include") { Deserialize_Include(file); } else if (token == "light") { Deserialize_Light(file); } else if (token == "lua") { Deserialize_Lua(file); } else if (token == "node") { Deserialize_Node(file); } else if (token == "origin") { Deserialize_Origin(file); } else if (token == "rotate") { Deserialize_Rotate(file); } else if (token == "sky") { Deserialize_Sky(file); } else if (token == "test") { Deserialize_Test(file); } else if (token == "time") { Deserialize_Time(file); } else if (token == "trainset") { Deserialize_Trainset(file); } else if (token == null) { break; } else if (token.StartsWith("//")) { //todo - wklepać to do parsera int _char; while (true) { _char = file.ReadByte(); if (_char == -1) { break; } if (_char == 13) { _char = file.ReadByte(); if (_char == 10) { break; } break; } } } else { Debug.Log("ERROR: unknown function: " + token); } } file.Close(); Globals.SCNLoaderInstanceCounter--; }
void Start() { editor_Canvas_Main = canvas.GetComponent <Editor_canvas_main>(); }