Skip to content

Latest commit

 

History

History
108 lines (91 loc) · 3.55 KB

PROJECTPLANS.md

File metadata and controls

108 lines (91 loc) · 3.55 KB

Document List

Project Description (README.md)

Game Manual (GAMEMANUAL.md)

To-do List (TODOLIST.md)

Project Plans (PROJECTPLANS.md)

Project Plans

Project diagram using Mermaid Diagrams

  • Class Diagram

    • Diagram where it's showing structure and dependancies of classes. (Inaccurate, outdated)
classDiagram
    class StateMachine ~MonoBehaviour~{
        <<abstract>>
        #GameState GameState
        #PlayerState PlayerState
        +SetGameState()
        +SetPlayerState()
    }
    class GameModeController{
        +GameObject player
        +Vector3 spawnPoint
    }
    class GameState{
        #GameModeController GameModeController

        #GameState(GameModeController)

        +virtual IEnumerator Start()
    }
    class PlayerState{
        #GameModeController GameModeController

        #PlayerState(GameModeController)

        +virtual IEnumerator Start()
        +virtual IEnumerator Exit()
    }
    class StartGame{
        +StartGame(GameModeController) : base(GameModeController)
        +override IEnumerator Start()
    }
    class SpawningPlayer{
        +SpawningPlayer(GameModeController) : base(GameModeController)
        +override IEnumerator Start()
    }
    class Bouncing{
        +Bouncing(GameModeController) : base(GameModeController)
        +override IEnumerator Start()
    }
    class Jumping{
        +Jumping(GameModeController) : base(GameModeController)
        +override IEnumerator Start()
    }
    StateMachine <|-- GameModeController  : Inheritance
    PlayerState <|-- SpawningPlayer  : Inheritance
    PlayerState <|-- Bouncing  : Inheritance
    PlayerState <|-- Jumping  : Inheritance
    GameState <|-- StartGame  : Inheritance
    GameModeController <.. PlayerState  : Dependency
    GameModeController <.. GameState  : Dependency
    GameModeController <.. StartGame  : Dependency
    GameModeController <.. SpawningPlayer  : Dependency
    GameModeController <.. Bouncing  : Dependency
    GameModeController <.. Jumping  : Dependency
  • Sequence Diagram

    • Diagram where it's showing interactions between classes, it goes from starting the game to spawning ball and at the end showing loop how the ball behaves. (Inaccurate, outdated)
sequenceDiagram
    autonumber
    participant GameModeController
    participant GameState
    participant PlayerState
    GameModeController->>GameState: SetGameState();
    GameState->>StartGame: Start()
    StartGame->>GameModeController: SetPlayerState(new SpawningPlayer(GameModeController))
    GameModeController->>PlayerState: StartCoroutine(new SpawningPlayer())
    PlayerState->>SpawningPlayer: Start()
    SpawningPlayer->>GameModeController: GameModeController.player = Object.Instantiate()
    SpawningPlayer->>PlayerControls: Object.Instantiate()
    SpawningPlayer->>GameModeController: SetPlayerState(new Bouncing())
    GameModeController->>PlayerState: SetPlayerState();
    GameState->>Bouncing: Start()
    %% Aim to end autonumber here
    loop OnCollisionEnter() with tag "Ground"/"Platform"
        PlayerControls->>GameModeController: SetPlayerState(new Jumping())
        GameModeController->>PlayerState: StartCoroutine(new Jump())
        PlayerState->>Jumping: Start()
        Jumping->>GameModeController: SetPlayerState(new Bouncing())
        GameModeController->>PlayerState: SetGameState();
        GameState->>Bouncing: Start()
    end