예제 #1
0
    public void ConnectGrid(MoveGrid connectGrid)
    {
        nextGird = connectGrid;

        //save serializeField
        EditorUtility.SetDirty(this);
    }
예제 #2
0
        public static void DrawMovementUI(Unit unit)
        {
            _currentUnit = unit;
            var moveTiles = MoveGrid.MoveGridTiles(unit.GetCurrentMapTile(), unit.movePoints);

            MoveGridLine.DrawMoveGrid(moveTiles);
            SubscribeToHoverTile();
        }
예제 #3
0
 public void StartUnitTurn(Unit unit)
 {
     _infoBar.SetPlayerTurn(currentRound, playerNames[currentGangTurn]);
     Unit.ActiveUnit = unit;
     ResetTimer();
     MoveGrid.ResetMovedGrid();
     unit.StartTurn();
 }
예제 #4
0
 private void MoveGrid_MouseUp(object sender, MouseButtonEventArgs e)
 {
     if (moveActive)
     {
         MoveGrid.ReleaseMouseCapture();
         moveActive = false;
     }
 }
예제 #5
0
 private void MoveGrid_MouseDown(object sender, MouseButtonEventArgs e)
 {
     if (e.LeftButton == MouseButtonState.Pressed && !moveActive)
     {
         moveActive             = true;
         moveMouseStartPosition = Mouse.GetPosition(null);
         moveStartMargin        = Margin;
         MoveGrid.CaptureMouse();
     }
 }
예제 #6
0
 public void EndUnitTurn()
 {
     MoveGrid.ResetMovedGrid();
     RefreshActiveUnitNumbers();
     if (activeUnits[currentGangTurn] + activeUnits[NextGangTurn()] == 0)
     {
         NextRound();
     }
     else
     {
         if (activeUnits[NextGangTurn()] > 0)
         {
             currentGangTurn = NextGangTurn();
         }
         if (currentGangTurn == gangNumber)
         {
             StartUnitTurn(FindNextUnit());
         }
     }
 }
예제 #7
0
        private void SwitchUnit(object sender, EventArgs args)
        {
            if (activeUnits[currentGangTurn] == 1)
            {
                return;
            }
            if (Unit.ActiveUnit.moveTaken)
            {
                return;
            }
            var currentUnits = Unit.All.Where(unit => unit.gang == currentGangTurn && !unit.turnTaken).ToList();
            var unitIndex    = currentUnits.IndexOf(Unit.ActiveUnit);

            unitIndex++;
            if (unitIndex >= currentUnits.Count)
            {
                unitIndex = 0;
            }
            MoveGrid.ResetMovedGrid();
            StartUnitTurn(currentUnits[unitIndex]);
        }