private void DrawShootImpact(ShootImpactDto shootImpactDto, string slotsTag) { GameObject[] slots = GameObject.FindGameObjectsWithTag(slotsTag); foreach (GameObject slot in slots) { foreach (Coordination hit in shootImpactDto.hits) { Coordination c = slot.GetComponent <Slot>().Coordination; if (c.x == hit.x && c.y == hit.y) { slot.GetComponent <Slot>().SetIsHit(); } } } foreach (GameObject slot in slots) { foreach (Coordination hit in shootImpactDto.misses) { Coordination c = slot.GetComponent <Slot>().Coordination; if (c.x == hit.x && c.y == hit.y) { slot.GetComponent <Slot>().SetIsMiss(); } } } }
public void OpponentShootImpact(ShootImpactDto shootImpactDto) { DrawShootImpact(shootImpactDto, "player-slot"); receivedShootsCount++; if (receivedShootsCount == 3 && !freeToFire) { freeToFire = true; receivedShootsCount = 0; YourTurn(); } DrawDestroyedUnits(shootImpactDto.destroyed_units, PlayerBoard); }
public void OnMessage(string msg) { Debug.Log(msg); IncomeMsgDto incomeMsgDto = JsonUtility.FromJson <IncomeMsgDto>(msg); if (incomeMsgDto.type.Equals("opponent-connected")) { GameController.OpponentConnected(); } if (incomeMsgDto.type.Equals("opponent-finish-board-init")) { GameController.OpponentFinishedBoardInit(); } if (incomeMsgDto.type.Equals("player-shoot-impact")) { ShootImpactDto shootImpactDto = JsonUtility.FromJson <ShootImpactDto>(msg); GameController.PlayerShootImpact(shootImpactDto); } if (incomeMsgDto.type.Equals("opponent-shoot-impact")) { ShootImpactDto shootImpactDto = JsonUtility.FromJson <ShootImpactDto>(msg); GameController.OpponentShootImpact(shootImpactDto); } if (incomeMsgDto.type.Equals("you-lost")) { GameController.YouLost(); } if (incomeMsgDto.type.Equals("you-won")) { GameController.YouWon(); } }
public void PlayerShootImpact(ShootImpactDto shootImpactDto) { GameObject.Find("fire-btn").GetComponent <Button>().interactable = true; DrawShootImpact(shootImpactDto, "opponent-slot"); DrawDestroyedUnits(shootImpactDto.destroyed_units, OpponentBoard); }