public void SetLevelSet(LevelAesthetics level_set) { this.level_set = level_set; background.sprite = level_set.background; edited_room.LoadTileSet(level_set.tile_set); }
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); } }
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); } } } }