public void StartLocalGame()
    {
        int playerCount = GetPlayerCount();

        if (playerCount < 2)
        {
            return;
        }

        terrain.Init(TerrainType.value, Random.Range(0f, 360f));
        manager.PlayerTanks = new List <Tank>();

        float offset  = terrain.MapWidth / (playerCount + 1);
        int   counter = 0;

        for (int i = 0; i < PlayerDataList.Count; i++)
        {
            PlayerSetup playerData = PlayerDataList[i];
            if (playerData.Active.activeInHierarchy)
            {
                Vector3          position    = new Vector3((counter + 1) * offset, 0f, 0f);
                Tank             tank        = Instantiate(TankPrefab, position, Quaternion.identity, TankParent).GetComponent <Tank>(); // todo - init with photon
                Tank.ControlType controlType = playerData.GetControlType();
                tank.Init(playerData.GetName(), counter, playerData.GetColor(), controlType);
                manager.PlayerTanks.Add(tank);
                counter++;
            }
        }

        manager.Init(FromOnlineSetup);

        gameObject.SetActive(false);
    }
Example #2
0
 public void SetControlType(Tank.ControlType type)
 {
     MyControlType.value = (int)type;
 }