| A 2D Farming RPG
    This is just a simple 2D farming RPG game | 
| CAnimationOverrides | |
| CCharacterAttribute | Define what character variant we want to switch into | 
| CEventHandler | Raise an handle event when a movement is triggered. | 
| CGameClock | |
| CGameObjectSave | Store all scenes in here. If we have 3 scenes, we have 3 entries. | 
| CGenerateGUID | Assign a unique GUID for the objects. These ids are used to retrive the gameobjects when restoring scene state. | 
| CGridCoordinate | Holds grid information x and y coordinate. | 
| CGridCursor | |
| CGridPropertiesManager | This will get the information from serialiable object and populate these class Basically this will store the data in runtime. | 
| CGridProperty | Holds information about grid of every scene. | 
| CGridPropertyDetails | This will get the information from serialiable object and populate these class Basically this will store the data in runtime. | 
| CInventoryItem | |
| CInventoryManager | This class will manage all the inventory related operations. | 
| CISaveable | Interface for unity ISaveable | 
| CItem | |
| CItemCodeDescriptionAttribute | No values need to be held for the item code description attribute Therefore, the class can be empty. | 
| CItemCodeDescriptionDrawer | |
| CItemDetails | This class holds information of items. | 
| CItemNudge | Create a class that create nudge effect on grass and some other items. When player get near items, it will create a wobbly effect. | 
| CItemPickup | |
| CMovementAnimationParameterControl | Control and trigger animations based on the right moves. | 
| CObscuringItemFader | Used to obscure items when player is behind them. So that player can see the avatar clearly. | 
| CPlayer | This class has all the things related to player | 
| CPlayerAnimationTest | This is just a test script to trigger and test animations. | 
| CSaveLoadManager | Manage saving and loading scenes. This class is a singleton instance. | 
| CSceneControllerManager | Manage the transition between scenes | 
| CSceneItem | We have scene item instances for every item in the scene that we want to store in a save file. | 
| CSceneItemsManager | Control store, restore, save and load functionality in the scene. | 
| CSceneSave | Store all of the scene items in this list. | 
| CSceneTeleport | |
| CSettings | This class handle the game settings. | 
| CSingletonMonobehaviour | Abstract class that inherited by all the game managers. All the game managers use singleton since game manager always have 1 instance. | 
| CSO_AnimationType | Create a scriptable animation type. This objects holds infomration about animation variants | 
| CSO_GridProperties | This ScriptableObject object asset will contain all the information of each scene. | 
| CSOItemList | |
| CSwitchConfineBoundingShape | This class will confine the camera so that it won't go beyond the boundaries. | 
| CTags | This class will have Tags values. | 
| CTilemapGridProperties | This script by default will execute on both editor and runtime. | 
| CTimeManager | A singleton manager class for time managements. | 
| CTriggerObscuringItemFader | This class trigger fade in and out depending on the distance of the objects that needs to be fade out once the player is near. | 
| CUIInventoryBar | |
| CUIInventorySlot | |
| CUIInventoryTextBox | |
| CVector3Serializable | Unity Vector3 data type is NOT serializable. Therefore, it can't be searilize and saved to a datafile. This class is designed to achieve that. |