Пример #1
0
        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);
        }
Пример #2
0
 public void SetInstance(RoomInstanceComponent @value) => m_instanceComponent = @value;