Please enable JavaScript.
Coggle requires JavaScript to display documents.
Pick The Horse - Coggle Diagram
Pick The Horse
Game Scene
Character
CharacterLogic - Responsible for identify when the character enters trigger to inform it's win, collect coins etc.
CharacterMovement - changes character png according to the movement direction, implementing boost feature etc. Load from AssetBundle!
States
-
Race - Instantiated by the GameManager class. This script will be managing everything that occurs during the race itself.
RaceFinished - Is responsible for updating all relevant
PlayerData - Mark level as completed if completed, update amount of coins etc.
SetupRace - everything between the bet and the race states will be handled by this class. The transition, countdown etc.
Managers
GameManager - Singleton. Responsible for the game flow during the game scene, and switch states
UIManager - Singleton. will manage the whole UI visualization and show the path image before the race to chose the horse and update UI.
AudioManager - Contains the AudioSources. Create as many as needed and name them properly. then set the AudioSource.clip to the audio clip from the resources folder and load them respectively.
Other
-
PlayerLogic - Responsible for fulfilling player's actions during the race: boost character, putting barriers etc.
-
-
Main Menu Scene
World - Each instance, will have a "WorldState" enum of "Unlocked, Locked, Completed" which will be set by the LevelsManager. and in case it is open will call the "LevelChanger" function on click
WorldsManager - Singleton. responsible for checking which worlds are available and sets their enum. It will retrieve the data on start from the PlayerData class.
It will also hold the scene transition animation to send it as a paramater to the LevelChanger.
-
Static Classes
LevelChanger - Responsible for transitions between scenes. Gets the open levels from the Player class and makes transition to next level.
Save And Load
- Save and load the player's data.
Coins, Boosts and levelsCompleted.
-
Scriptable Objects
WorldData - Which world, Levels Range (two ints probably)