void NoRoomGUI() { RoomConfig r = null; if (GUILayout.Button("Create Room")) { var rd = RoomPropertiesEditor.NewRoomData; r = rd.CreateRoomAsset(); // r.UpdateResulting(0); r.RoomData = rd; // Global.Resources.Instance.StandardLevelSetting; } if (GUILayout.Button("Load Room")) { var path = EditorUtility.OpenFilePanel("Load Room", "Rooms", "asset"); path = path.Replace(Application.dataPath, "Assets"); r = AssetDatabase.LoadAssetAtPath(path, typeof(RoomConfig)) as RoomConfig; } if (r == null) { return; } // todo: check if needed RoomPlatformsEditor.Current.Reset(); var go = new GameObject(r.RoomData.Name, typeof(ContextComponent), typeof(RoomInstanceComponent)) { hideFlags = HideFlags.DontSave }; if (!go.TryGetComponent(out RoomInstanceComponent rc)) { return; } m_instanceComponent = rc; rc.SetData(new RoomInstanceData(r, rc)); RoomPlatformsEditor.Current?.SetCurrentLevel(0); }
public void SetInstance(RoomInstanceComponent @value) => m_instanceComponent = @value;