private void HandleUnitRepositioned(UnitRepositionedPacket packet) { if (packet.FromLocation is BenchLocation) { var benchFromLocation = (BenchLocation)packet.FromLocation; benchSlots[benchFromLocation.seat].gameObject.SetActive(false); benchSlots[benchFromLocation.seat].Clear(); } if (packet.ToLocation is BenchLocation) { var benchToLocation = (BenchLocation)packet.ToLocation; benchSlots[benchToLocation.seat].gameObject.SetActive(true); benchSlots[benchToLocation.seat].AddUnit(packet.Name); } CheckForFullBench(); }
private void HandleUnitRepositioned(UnitRepositionedPacket packet) { if (packet.FromLocation is BoardLocation) { var boardFromLocation = (BoardLocation)packet.FromLocation; var offsetCoords = boardFromLocation.coords.ToOffset(); if (offsetCoords.x < 0 || offsetCoords.x > WIDTH) { return; } if (offsetCoords.y < 0 || offsetCoords.y > HEIGHT) { return; } var hex = grid[offsetCoords.y, offsetCoords.x]; if (hex.Unit == packet.Name) { hex.RemoveUnit(); } } if (packet.ToLocation is BoardLocation) { var boardToLocation = (BoardLocation)packet.ToLocation; var offsetCoords = boardToLocation.coords.ToOffset(); if (offsetCoords.x < 0 || offsetCoords.x > WIDTH) { return; } if (offsetCoords.y < 0 || offsetCoords.y > HEIGHT) { return; } var hex = grid[offsetCoords.y, offsetCoords.x]; if (String.IsNullOrEmpty(hex.Unit)) { hex.AddUnit(packet.Name); } } }