Skip to content

ojaseminem/Ski-Shooter

Repository files navigation

Ski Shooter


This ReadMe contains the basic documentation for the Game. It will help you understand the code architecture, naming conventions, etc.


Folder Structure & Description
  • Animations
    • Contains Animation files and Animation Controllers for the Character and UI Elements.
  • Assets
    • Contains all the necessary assets for each level. Please do not change any import settings, especially for the models.
  • Data
    • Contains an "UserData" scriptable object file which you can use to get the collectables data.
  • Imported
    • Contains the source files for the character textures and the bullet FX.
  • Prefab
    • Contains prefabs used in the game.
  • Scenes
    • Contains 3 scenes : RegistrationLoginScene (not included in build settings yet), MenuScene (included in the build settings), GameScene (included in the build settings).
  • Scripts
    • Contains the Gameplay scripts. You can add a new folder / namespace for Ad Integrations or other purposes.
  • TextMesh Pro
    • Contains Text Mesh Pro package being used for the UI.

Script Name & Usage Description
Managers
  • AudioManager

    • Manager for creating and handling the audio sources responsible for the complete game audio sfx.
  • GameEvents

    • Manager being used for UI related events.
  • MenuManager

    • Manager responsible for MenuScene UI related events.
  • PlayerManager

    • Handles secondary player events such as collectable calculation, game started, paused and over events.
  • SwipeManager

    • Generates Swipe events for mobile touch and for mouse click and drag events.
  • TutorialManager

    • Responsible for tutorial related events.
Misc
  • DestroyableObstacleHandler
    • Handles snow boulder behaviour.
  • PickUp
    • Being used for collectables like coin or diamond.
  • ProjectileMoveScript
    • Is activated after the projectile spawns and is used for moving the projectile straight.
  • Sound
    • Serializable script being used for adding sounds on the AudioManager GameObject in the inspector.
    • It contains the variables used to input sounds and other values to play it in game.
  • TimeCalculator
    • Is created only for data collection purposes.
    • Call public variable "elapsedTime" by calling "TimeCalculator.instance.elapsedTime". This will return a float.
    • You can get a string value already formatted in the manner ("mm : ss . ff"). You can call this by using "TimeCalculator.userPlayTime".
Player
  • PlayerController
    • Handles movement and shooting events in the player controller.
    • Generates OnTriggerEnter events.
  • PlayerShooting
    • Secondary script being used from an Animation Event to shoot the projectile.
Scriptable Objects
  • UserData
    • Consists variables to use as data holder during the gameplay.
Tiles
  • Tile
    • Enables all the boulders inside the tile, if there's any.
    • Being used to fix a bug.
  • TileManager
    • Handles generating tiles based on player position.

Need Help / Support

If you face any bug, issue or need any help understanding the code to implement your own, you can contact me on +91 84839 73734 / sharmaojas3@gmail.com

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published