aaahhh!!! man :) this looks so good. cant believe you've done all this in such a short amount of time XD
Viewing post in Game Jam Progress - Post here!
LOL, still lots to do to get it all working.
Heres a TIP for you:
Lets assume we have 2 modes ( play and battle ).
and we have a boolean IsInBattle:bool (yes/no variable) to decide which mode we are in.
instead of using a bool, use a float. and check for <=0 is in play >= 1 is in battle.
You now have a slider which you can use to morph/fade/do some transition between play and battle.
I usually use a _gameMode:int to decide what I am doing. but I found that a lot of it became time based, so instead of GAMEMODE_PLAY and GAMEMODE_MENU I needed GAMEMODE_MENUTOPLAY, etc
You then end up with a lot of big case/switch/if statements to pick which mode you are in.
Currently everything is being controlled by time and timelines. I trigger a timeline and it returns a value from 0 to 1. 0 being one state 1 being another state. everything in between is some form of transition.
E.G. I am currently going from play into battle modes. and just set a transition for 2 seconds. but it was too long, so I kept tweeting the timing variable until it felt 'right' As it is time based, it will run the same on any platform or computer.
Think of it as sort of invisible events. You can trigger a defined time - read the position, and be notified when it reaches the end.
I am not sure if Unity or Unreal have these things as default, but I am sure they could be quickly knocked up. Maybe think about it for another time ;]