/// <summary> /// This function helper for crate Hexagon Controller by coordinate. /// </summary> private SlotController CreateSlot(int x, int y) { Coordinate coordinate = new Coordinate(x, y); Vector2 targetPosition = Vector2.zero; targetPosition.x += (coordinate.x * CommonTypes.HEXAGON_WIDTH * 0.75F); targetPosition.y -= coordinate.x % 2 == 0 ? coordinate.y * CommonTypes.HEXAGON_HEIGHT : CommonTypes.HEXAGON_HEIGHT / 2 + CommonTypes.HEXAGON_HEIGHT * coordinate.y; Slot slot = new Slot(coordinate); SlotController slotController = Instantiate(gameSettings.SlotPrefab, InterfaceManager.Instance.GetPlayArea(), false); slotController.transform.localPosition = targetPosition; slotController.name = $"Slot_({x}, {y})"; slotController.Initialize(slot); slotControllers.Add(slotController); return(slotController); }