public void LoadMap(Map map) { goals = map.goals; scores.Add(0); scores.Add(0); int i = 0; if (hum) { Vector3 offset = new Vector3(Mathf.Cos(0f), 0f, Mathf.Sin(0f)) * spawnRadius; Human newPlayer = Instantiate <Human>(humanPrefab, goals[0].transform.position + offset, Quaternion.identity); if (nnbrain != null) { newPlayer.InitBrain(0, blueMaterial, this, nnbrain); } else { newPlayer.Init(0, blueMaterial, this); } ThrdCam tcam = Camera.main.gameObject.AddComponent <ThrdCam>(); tcam.target = newPlayer.body; tcam.transform.SetParent(newPlayer.transform); newPlayer.SetCam(tcam); players.Add(newPlayer); map.hs.SetPlayer(players[0]); i++; } else { Camera.main.gameObject.AddComponent <FrstCam>(); Camera.main.transform.position = goals[0].transform.position + Vector3.up * 20f; } for (; i < PlayersPerTeam; i++) { float ang = Mathf.PI * 2 * (float)i / (float)PlayersPerTeam; Vector3 offset = new Vector3(Mathf.Cos(ang), 0f, Mathf.Sin(ang)) * spawnRadius; AI newPlayer = Instantiate <AI>(playerPrefab, goals[0].transform.position + offset, Quaternion.identity); if (nnbrain != null) { newPlayer.InitBrain(0, blueMaterial, this, nnbrain); } else { newPlayer.Init(0, blueMaterial, this); } players.Add(newPlayer); } for (int j = 0; j < PlayersPerTeam; j++) { float ang = Mathf.PI * 2 * (float)j / (float)PlayersPerTeam + Mathf.PI; Vector3 offset = new Vector3(Mathf.Cos(ang), 0f, Mathf.Sin(ang)) * spawnRadius; AI newPlayer = Instantiate <AI>(playerPrefab, goals[1].transform.position + offset, Quaternion.identity); if (nnbrain != null) { newPlayer.InitBrain(1, redMaterial, this, nnbrain); } else { newPlayer.Init(1, redMaterial, this); } players.Add(newPlayer); } loaded = true; over = false; paused = false; time = 0f; resetTime = 0f; rs = map.rs; }
public void SetCam(ThrdCam camera) { cam = camera; }