internal GameObject CreatePlayerTest(PlayerCreateTest create) { var t = tankFactory.CreateTank(create.Color, create.Name, create.Token, new Vector3(float.Parse(create.X), 5, float.Parse(create.Y)), -1); t.GetComponent <TankController>().transform.Rotate(Vector3.up, float.Parse(create.Angle)); t.GetComponent <TankController>().Sim = this; tankControllers.Add(t.GetComponent <TankController>()); return(t); }
private void HandleCommand(GameCommand command) { TankController t = FindTankObject(command.Token); if (TrainingRoomMain.currentGameState == TrainingRoomMain.GameState.gameOver) { return; } if (TrainingRoomMain.currentGameState == TrainingRoomMain.GameState.notStarted) { if (command.Type != CommandType.PlayerCreate) { return; } } MovementParameter p = null; switch (command.Type) { case (CommandType.PlayerCreate): PlayerCreate create = command.Payload as PlayerCreate; var tank = CreatePlayer(create); break; case (CommandType.Despawn): if (t != null) { RemoveTank(t); } break; case (CommandType.PlayerCreateTest): PlayerCreateTest createtest = command.Payload as PlayerCreateTest; var tanktest = CreatePlayerTest(createtest); break; case (CommandType.TurnToHeading): p = command.Payload as MovementParameter; if (t != null) { t.TurnToHeading(p.Amount); } break; case (CommandType.TurnTurretToHeading): p = command.Payload as MovementParameter; if (t != null) { t.TurnTurretToHeading(p.Amount); } break; case (CommandType.MoveForwardDistance): p = command.Payload as MovementParameter; if (t != null) { t.MoveDistance(p.Amount); } break; case (CommandType.MoveBackDistance): p = command.Payload as MovementParameter; if (t != null) { t.MoveDistance(-p.Amount); } break; case (CommandType.ToggleForward): if (t != null) { t.ToggleForward(); } break; case (CommandType.ToggleReverse): if (t != null) { t.ToggleReverse(); } break; case (CommandType.ToggleRight): if (t != null) { t.ToggleRight(); } break; case (CommandType.ToggleLeft): if (t != null) { t.ToggleLeft(); } break; case (CommandType.ToggleTurretLeft): if (t != null) { t.ToggleTurretLeft(); } break; case (CommandType.ToggleTurretRight): if (t != null) { t.ToggleTurretRight(); } break; case (CommandType.FullStop): if (t != null) { t.FullStop(); } break; case (CommandType.StopTurret): if (t != null) { t.StopTurret(); } break; case (CommandType.StopMove): if (t != null) { t.StopMove(); } break; case (CommandType.StopTurn): if (t != null) { t.StopTurn(); } break; case (CommandType.Fire): if (t != null) { t.Fire(); } break; } }