Skip to content

Latest commit

 

History

History
93 lines (75 loc) · 3.57 KB

TODO.md

File metadata and controls

93 lines (75 loc) · 3.57 KB

TODO

BUG FIXES / TESTS

  • Fix bug with continue: - CHECK IF STILL THERE!
    • If choose "no" (and exit game), when come back with "continue", we're back with the last life ...
      => Don't allow to continue if chosen "no" (delete data)!
  • "Fix" debriefing stuff: Need to determine when it's last level (MODIFY "IsGameComplete").
    => EITHER:
    • reach a level with no "next" (=null)
    • all the levels are "completed" (=true)
  • Check why calling "CommitChanges" in "DebriefingFail", but not in "Debriefing".
  • (?) Might not be a good thing to call "PlayerPrefs" in "SessionManager.Reset"
    => If want to keep data persistent through different games (eg: highest scores, etc.)
  • "GameData.Leave" calls "SessionManager.Save" to save the data when leaving the game graph.
    • This can be a problem as data is not saved before, so in case of crash (or voluntary "kill" of the application) the data will not be saved (which can be seen both as a bug or as a way to cheat)
      => OK to keep as is?

DOCUMENTATION

  • Make documentation
    => Use, objects/projects, tests, etc.
  • Write README.md

CLEANING

SCRIPTS

  • Remove/fix TODOs
  • Add comments in "scripts/GameData" of V1
  • Remove useless "using" in scripts
  • Unify
    • Coding style (uniformise)
    • Variables/prefabs/resources names
  • Add/remove comments
  • Remove/comment logs
  • ...

ENHANCEMENTS

ORGANISATION

  • Files in "Resources/Xml/" should not be common
    => Move out of engine (& set templates/examples)
  • Remove things from "tests" than could be generic

SCRIPTS

  • General:
    • For calls to "LoadChildState", use enum of defined children instead of strings
      => How?
      • set param as public in Editor
        => And provide list of child states (instead of hardcoded!)
    • See how to manage init timer and game timer properly
      => NOT as in RAD!
    • "continueScene" should be enums instead of strings! (?)
  • Data:
  • LevelManager:
    • Add listeners management:
      • AddListener(listener, eventType) => Called by listeners
      • NotifyListeners() => Called when an event occurs
        => Use this for "Start" listeners (when "doingSetup" is done)
    • Set "HudController" as public field
    • Remove "HUD" reference from "LevelController" and do everything in "LevelManager"
      => Pass variables from "LevelController" to "LevelManager"
      ! - No need to get variables from "GameData" from "LevelController" ("LevelController" and "HudController" are independent)
  • HudController:
    • Don't override fade delay with flash speed
      => Use different variables
    • Set "timeStep" as a variable
  • Level:
    • (?) Add "Pause", "Unpause" & "Quit" to "Level.cs"? (as abstract)
    • (?) "StartLevel" in "LevelManager" should override method from "Level"?
      => Add abstract method in "Level.cs"?
    • (?) Add "NotifyHit" in "Level.cs" (common?)
    • (?) Add "NotifyHeal" in "Level.cs" (common?)

PORTABILITY

  • Add symbolic links script for Linux ("set_links")

EXTRA TOOLS

LATER:

  • Add a graph editor for the state transitions
  • ...