void Start() { Client = GameManager.Instance.Client; if (Client.IsPlayer) { Destroy(gameObject); return; } Instance = this; GameGraph = new BoardGraph(); BoardSpaces = new Dictionary <int, BoardSpace>(); FriendlyMonsters = new List <Monster>(); EnemyMonsters = new List <Monster>(); AttackCalculator = new AttackCalculator(); MoveCalculator = new MoveCalculator(); AvailablePushDestinations = new List <Node>(); BattleSmoke.gameObject.SetActive(false); Client.GameState = this; float attackResultTextRotationOffset = Client.IsHost ? 180 : 0; AttackResultTextPrefab.YRotationOffset = attackResultTextRotationOffset; _actionNumber = 1; if (!Client.IsHost) { _actionNumber = 3; var table = GameObject.Find("Table"); table.transform.localRotation = Quaternion.Euler(table.transform.localRotation.eulerAngles.x, table.transform.localRotation.eulerAngles.y + 180, table.transform.localRotation.eulerAngles.z); } _subActionNumber = 1; for (int i = 0; i < SpacePrefabs.Count; i++) { BoardSpace spacePrefab = SpacePrefabs[i]; if (!BoardSpaces.ContainsKey(i)) { spacePrefab.Node = GameGraph.Nodes[i]; BoardSpaces.Add(i, spacePrefab); } } }
void Start() { Client = GameManager.Instance.Client; if (!Client.IsPlayer) { Destroy(gameObject); return; } Instance = this; GameGraph = new BoardGraph(); BoardSpaces = new Dictionary <int, BoardSpace>(); FriendlyMonsters = new List <Monster>(); EnemyMonsters = new List <Monster>(); AttackCalculator = new AttackCalculator(); MoveCalculator = new MoveCalculator(); AvailablePushDestinations = new List <Node>(); BattleSmoke.gameObject.SetActive(false); Client.GameState = this; float attackResultTextRotationOffset = Client.IsHost ? 180 : 0; AttackResultTextPrefab.YRotationOffset = attackResultTextRotationOffset; _actionNumber = 1; if (!Client.IsHost) { _actionNumber = 3; var table = GameObject.Find("Table"); table.transform.localRotation = Quaternion.Euler(table.transform.localRotation.eulerAngles.x, table.transform.localRotation.eulerAngles.y + 180, table.transform.localRotation.eulerAngles.z); } _subActionNumber = 1; for (int i = 0; i < SpacePrefabs.Count; i++) { BoardSpace spacePrefab = SpacePrefabs[i]; if (!BoardSpaces.ContainsKey(i)) { spacePrefab.Node = GameGraph.Nodes[i]; BoardSpaces.Add(i, spacePrefab); } } List <Monster> friendlyMonsters = new List <Monster>(); List <Monster> enemyMonsters = new List <Monster>(); foreach (Monster monster in MonsterPrefabs) { if (GameManager.Instance.FriendlyMonsterInitialNodeIds.ContainsKey(monster.MonsterTypeId)) { monster.CurrentNode = GameGraph.Nodes[GameManager.Instance.FriendlyMonsterInitialNodeIds[monster.MonsterTypeId]]; friendlyMonsters.Add(monster); } else { monster.CurrentNode = GameGraph.Nodes[GameManager.Instance.EnemyMonsterInitialNodeIds[monster.MonsterTypeId]]; enemyMonsters.Add(monster); } } DisplayMonsters(friendlyMonsters, enemyMonsters); Client.SendStateAck(GetAdjustedActionNumber(), _subActionNumber); if (GameManager.Instance.Difficulty == 1) { GameObject.Find("selectionPreview").SetActive(false); } }