Implementing the Palette
In this section, we will get hands on with the implementation of the Palette. Just to maintain a certain level of abstraction, in some cases, we will talk about Palette items instead level piece prefabs.
For us, a Palette item is what is displayed in the Palette, and this can be anything; in this case, a level piece prefab.
Creating a category system
We need some data to make the Palette window functional. The first step is to categorize the available level piece prefabs in the game. In Run & Jump, all the level piece prefabs are located in Prefabs/LevelPieces
:
We will create a script with a mission to save information about the level piece prefabs, which includes the category. Inside the Tools/LevelCreator/Scripts
folder, create a script called PaletteItem.cs
with the following code:
using UnityEngine; namespace RunAndJump.LevelCreator { public class PaletteItem: MonoBehaviour { #if UNITY_EDITOR public enum Category { Misc, ...