_elementColors.Add(ElementColors.Blue, Color.blue) _elementColors.Add(ElementColors.Green, een) _elementColors.Add(ElementColors.Red, Color.red) _elementColors.Add(ElementColors.NoColor, Color.white) _elementPrefabs.Add(ElementTypes.LargeSphere, largeSpherePrefab) _elementPrefabs.Add(ElementTypes.SmallSpere, smallSpherePrefab) _elementPrefabs.Add(ElementTypes.LargeCube, largeCubePrefab) _elementPrefabs.Add(ElementTypes.SmallCube, smallCubePrefab) ![]() _offset = (_currentGameLevel.boardSize / 2f) - (_elementSize / 2f) we need this offset to position elements correctly Now update our script so it could construct the board from our NewGameLevelHolder.asset file. If you have done everything right you should see the name of our game level displayed there.Īlso create a black material named mat_Foundation and assign it to pref_BoardFoundation. You can now press “Play” button and have a look at the Console tab. ", board size is " + _currentGameLevel.boardSize) _currentGameLevel = Utils.ReadDefaultGameLevelFromAsset() ĭebug.Log("Game Level Name: " + _currentGameLevel.levelName + Private GameLevelHolder _currentGameLevel Public class BoardConstructor : MonoBehaviour Now rename it to “pref_BoardConstructor” and drag into the “Prefabs” folder. Also create an empty GameObject, reset its transform and drag the BoardConstructor script onto it. Let’s name this class BoardConstructor and retrieve our game level inside Start()method. Now let’s create the class that will construct our game level using the info retrieved from the .asset file. ![]() GameLevelHolder retrievedGameLevel = (GameLevelHolder) o Object o = Resources.Load(_levelsPath + _defaultLevelName) Public static GameLevelHolder ReadDefaultGameLevelFromAsset() Private const string _defaultLevelName = "NewGameLevelHolder" Private const string _levelsPath = "Levels/" Change “Level Name” field to “First Level” in the inspector tab. Create a static class Utils which will provide us a method to retrieve our newly created level. Now let’s read this level we have just created. ![]() Now we can test our game level creation menu item. "Assets/Resources/Levels/NewGameLevelHolder.asset") Int numberOfElements = levelHolder.boardSize * levelHolder.boardSize įor (int i = 0 i < numberOfElements i++) Public static void CreateGameLevelHolder() Public static class CreateGameLevelMenuItem asset file that represents our game level. We will store our game levels inside Resources/Levels directory for convenience. CreateGameLevelMenuItem.cs creates an instance of GameLevelHolder, initializes the list of tiles and saves it as an. Let’s also create a custom MenuItem to create a holder for our game level any time we need to. As you can see GameLevelHolder inherits from ScriptableObject which allows us to save GameLevelHolder objects as.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |