Exemple #1
0
    public void SetLevelSet(LevelAesthetics level_set)
    {
        this.level_set    = level_set;
        background.sprite = level_set.background;

        edited_room.LoadTileSet(level_set.tile_set);
    }
Exemple #2
0
    void SetLevelSet(LevelAesthetics level_set)
    {
        this.level_set = level_set;
        room_editor.SetLevelSet(level_set);

        enemy_icons = new Texture2D[available_enemies.Count];
        for (int i = 0; i < available_enemies.Count; i++)
        {
            enemy_icons[i] = GetSpriteTexture(available_enemies[i].icon);
        }
    }
Exemple #3
0
    void OnGUI()
    {
        EditorGUI.BeginDisabledGroup(true);
        EditorGUILayout.ObjectField("Current RoomEditor:", room_editor, typeof(RoomEditor), false);
        EditorGUI.EndDisabledGroup();

        RoomModeToggle();

        if (room_mode == RoomEditMode.Info)
        {
            LevelAesthetics old_level_set = level_set;
            level_set = (LevelAesthetics)EditorGUILayout.ObjectField("Level Set", level_set, typeof(LevelAesthetics), true);
            if (level_set != old_level_set && level_set != null)
            {
                SetLevelSet(level_set);
            }

            SetSizeButton();

            SaveRoomOptions();

            LoadRoomOptions();
        }

        if (room_mode == RoomEditMode.Block)
        {
            BlockModeToggle();

            if (block_mode == BlockEditMode.Place)
            {
                TileTypeToolbar();
            }
        }

        if (room_mode == RoomEditMode.RoomSet)
        {
            RoomSetModeToggle();

            if (room_set_mode == RoomSetEditMode.Enemies)
            {
                EnemySelection();
            }
            else if (room_set_mode == RoomSetEditMode.EnemyHierarchy)
            {
                Enemy to_remove = null;
                foreach (Enemy e in placed_enemies)
                {
                    EditorGUILayout.BeginHorizontal();
                    if (GUILayout.Button("X", GUILayout.Width(20)))
                    {
                        to_remove = e;
                    }
                    if (GUILayout.Button(e.name, EditorStyles.label))
                    {
                        Selection.objects = new Object[] { e.gameObject };
                        Tools.current     = Tool.Move;
                    }
                    EditorGUILayout.EndHorizontal();
                }
                if (to_remove != null)
                {
                    placed_enemies.Remove(to_remove);
                    room_editor.RemoveEnemy(to_remove);
                    DestroyImmediate(to_remove.gameObject);
                }
            }
            else if (room_set_mode == RoomSetEditMode.Objects)
            {
                ObjectSelection();
            }
            else if (room_set_mode == RoomSetEditMode.ObjectHierarchy)
            {
                RoomProp to_remove = null;
                foreach (RoomProp prop in placed_props)
                {
                    if (prop == null)
                    {
                        continue;
                    }
                    EditorGUILayout.BeginHorizontal();
                    if (GUILayout.Button("X", GUILayout.Width(20)))
                    {
                        to_remove = prop;
                    }
                    if (GUILayout.Button(prop.name, EditorStyles.label))
                    {
                        Selection.objects = new Object[] { prop.gameObject };
                        Tools.current     = Tool.Move;
                    }
                    EditorGUILayout.EndHorizontal();
                }
                if (to_remove != null)
                {
                    placed_props.Remove(to_remove);
                    DestroyImmediate(to_remove.gameObject);
                }
            }
        }
    }