Beispiel #1
0
    private void ReturnPawnToEmptySlot(PawnUIID pawnUIID)
    {
        var pawnUI = GetPawn(pawnUIID);
        var slot   = GetEmptySlot();

        slot.PutPawnInSlot(pawnUI);
    }
Beispiel #2
0
 private void OnPawnTapped(PawnUI.PawnUIID pawnUI, Action <Pawn.PawnID> onPawnSelected)
 {
     StopAllHighlights();
     if (onPawnSelected != null)
     {
         var pawnData = GetPawnData(pawnUI);
         onPawnSelected.Invoke(pawnData.pawn);
     }
 }
Beispiel #3
0
 private PawnUI GetPawn(PawnUIID pawnUIID)
 {
     foreach (var pawn in pawns)
     {
         if (pawn.pawnID.equals(pawnUIID))
         {
             return(pawn);
         }
     }
     return(null);
 }
Beispiel #4
0
    private PlayerPawnSlotUI GetSlotContains(PawnUIID pawnUIID)
    {
        var pawnUI = GetPawn(pawnUIID);

        foreach (var slot in slots)
        {
            if (slot.Contains(pawnUI))
            {
                return(slot);
            }
        }
        return(null);
    }
Beispiel #5
0
 private PawnData GetPawnData(PawnUI.PawnUIID pawnUIID)
 {
     foreach (var pawnData in pawnsInStart)
     {
         if (pawnData.pawnUI.equals(pawnUIID))
         {
             return(pawnData);
         }
     }
     foreach (var pawnData in pawnsInOpen)
     {
         if (pawnData.pawnUI.equals(pawnUIID))
         {
             return(pawnData);
         }
     }
     return(null);
 }
Beispiel #6
0
    public void MovePawnToHome(PawnUIID pawnUIID, UnityAction onMoveCompleted)
    {
        Vector2 position = GetHomePosition();

        GetPawn(pawnUIID).MoveToPosition(position, (id) => { onMoveCompleted.Invoke(); });
    }
Beispiel #7
0
    public void MovePawnToInnerTile(PawnUIID pawnUIID, int innerTileNo, UnityAction onMoveCompleted)
    {
        Vector2 position = uiTileManager.GetInnerTilePosition(playerType, innerTileNo);

        GetPawn(pawnUIID).MoveToPosition(position, (id) => { onMoveCompleted.Invoke(); });
    }
Beispiel #8
0
 public void MovePawn(PawnUIID pawnUIID, Vector2 position, UnityAction <PawnUIID> onMoveCompleted) =>
 GetPawn(pawnUIID).MoveToPosition(position, onMoveCompleted);
Beispiel #9
0
 public void ReturnPawnToStart(PawnUIID pawnUIID, UnityAction onCompleted)
 {
     ReturnPawnToEmptySlot(pawnUIID); onCompleted.Invoke();
 }
Beispiel #10
0
 public void GetPawnOutOfStart(PawnUIID pawnUIID) =>
 TakePawnOutOfSlot(pawnUIID).MoveToPosition(uiTileManager.GetStartingTilePositionFor(playerType), null);
Beispiel #11
0
    private PawnUI TakePawnOutOfSlot(PawnUIID pawnUIID)
    {
        var slot = GetSlotContains(pawnUIID);

        return(slot.TakePawnOutOfSlot());
    }
Beispiel #12
0
 public void ReturnPawnToNormal(PawnUIID pawnUIID) => GetPawn(pawnUIID).ReturnToNormal();
Beispiel #13
0
 public void ShrinkPawn(PawnUIID pawnUIID) => GetPawn(pawnUIID).Shrink();
Beispiel #14
0
 public PawnData(Pawn.PawnID pawn, PawnUI.PawnUIID pawnUI)
 {
     this.pawn   = pawn;
     this.pawnUI = pawnUI;
 }