void UpdatePlayerCommand(UnitBase unit, PlayerCommandData cmd) { Debug.Log("Player " + unit.PlayerId + " " + cmd.command.ToString() + " , value = " + cmd.value); switch (cmd.command) { case PlayerCommand.LookUp: break; case PlayerCommand.LookDown: break; case PlayerCommand.FireBullet: unit.FireBullet(); playersCommands.Add(cmd); break; case PlayerCommand.Respawn: RespawnPlayer(unit.PlayerId); playersCommands.Add(cmd); break; default: Debug.Assert(false, "TODO: Missing command : " + cmd.command.ToString()); break; } }
IEnumerator AsyncFireBullet(UnitBase unit, float lagTime) { yield return(new WaitForSeconds(lagTime)); unit.FireBullet(); }