public void Update(float time) { ImGui.Begin("Editor"); int i = 0; var gameObjectCopy = CurrentScene.RootGameObjects.ToList(); foreach (var obj in gameObjectCopy) { var name = obj.Name; ImGui.InputText($"Name {i}", ref name, 100); obj.Name = name; if (ImGui.Button($"Save {i}")) { var data = CurrentScene.App.Serializer.Serialize(obj); if (!Directory.Exists(SaveTo)) { Directory.CreateDirectory(SaveTo); } File.WriteAllBytes(SaveTo + "\\" + obj.Name + ".vspace", data); } ImGui.SameLine(); if (ImGui.Button($"Remove {i}")) { CurrentScene.RemoveGameObject(obj); } ImGui.Separator(); i++; } _saveFilePicker.Draw(ref SaveTo); if (_loadFilePicker.Draw(ref LoadFrom)) { var data = File.ReadAllBytes(LoadFrom); var obj = CurrentScene.App.Serializer.Deserialize <GameObject>(data); obj.Transform.WorldPosition = GameObject.Transform.WorldPosition; CurrentScene.AddGameObject(obj); } //ImGui.InputText("Load From", ref LoadFrom, 100); //if(ImGui.Button("Load")) //{ // var data = File.ReadAllBytes(Path + LoadFrom + ".vspace"); // var obj = CurrentScene.App.Serializer.Deserialize<GameObject>(data); // obj.Name = LoadFrom; // obj.Transform.WorldPosition = GameObject.Transform.WorldPosition; // CurrentScene.AddGameObject(obj); //} }