示例#1
0
    /// <summary>
    /// Called when a change in selection status is detected.
    /// </summary>
    public void updateActionSelection(UnitTraits.UnitSelectionStatus status)
    {
        switch (status)
        {
        case UnitTraits.UnitSelectionStatus.NotSelected:
            if (myCheck != MapTraits.TileCheck.NotChecked)
            {
                clearTempDisplay();
            }
            break;

        case UnitTraits.UnitSelectionStatus.Movement:
            if (myCheck != MapTraits.TileCheck.NotChecked)
            {
                clearTempDisplay();
            }
            break;

        case UnitTraits.UnitSelectionStatus.LoS:
            if (myCheck != MapTraits.TileCheck.NotChecked)
            {
                clearTempDisplay();
            }
            break;
        }
    }
示例#2
0
 private void Start()
 {
     myOldSelectionStatus             = UnitTraits.UnitSelectionStatus.NotSelected;
     myOffset                         = new GameObject();
     myOffset.transform.parent        = transform;
     myOffset.transform.localPosition = new Vector3(.15f, .0f, .15f);
 }
示例#3
0
 private void checkSelectionStatus()
 {
     if (mySelectionStatus != oldSelectionStatus)
     {
         oldSelectionStatus = mySelectionStatus;
     }
 }
示例#4
0
 /// <summary>
 /// Continuously checked to see if the unit's selection status has changed.
 /// </summary>
 public void checkSelectionStatus()
 {
     if (mySelectionStatus != myOldSelectionStatus)
     {
         myOldSelectionStatus = mySelectionStatus;
         updateActionSelection();
     }
 }
示例#5
0
 /// <summary>
 /// Called upon map generation to place the tile relative to the map itself, including a reference to the parent map.
 /// </summary>
 public void setPosition(int width, int length, int height, Map map)
 {
     this.length                      = length;
     this.width                       = width;
     this.height                      = height;
     myMap                            = map;
     myTileMap                        = myMap.getMyTileMap();
     myBattlefield                    = myMap.GetComponentInParent <Battlefield>();
     myOldSelectionStatus             = UnitTraits.UnitSelectionStatus.NotSelected;
     myOffset                         = new GameObject();
     myOffset.transform.parent        = transform;
     myOffset.transform.localPosition = new Vector3(.15f, .0f, .15f);
 }
示例#6
0
 public void updateTiles(UnitTraits.UnitSelectionStatus newStatus)
 {
     for (int i = 0; i < myMap.GetLength(0); i++)
     {
         for (int j = 0; j < myMap.GetLength(1); j++)
         {
             for (int k = 0; k < myMap.GetLength(2); k++)
             {
                 if (myMap[i, j, k] != null)
                 {
                     myMap[i, j, k].updateActionSelection(newStatus);
                 }
             }
         }
     }
 }
示例#7
0
    /// <summary>
    /// Called to activate the action manager.
    public void updateManagerSelection(UnitTraits.UnitSelectionStatus newStatus)
    {
        myBattlefield.setSelectionStatus(newStatus);
        switch (newStatus)
        {
        case UnitTraits.UnitSelectionStatus.NotSelected:
            break;

        case UnitTraits.UnitSelectionStatus.Movement:
            myTarget.setCurrentTile(currentTile);
            myTarget.setTargetTile(targetTile);
            checkForValidMove();
            break;

        case UnitTraits.UnitSelectionStatus.LoS:
            checkForValidLoS();
            break;
        }
    }
示例#8
0
 /// <summary>
 /// Called to change the (grid) selection status of the general battlefield.
 /// </summary>
 public void setSelectionStatus(UnitTraits.UnitSelectionStatus mySelectionStatus)
 {
     this.mySelectionStatus = mySelectionStatus;
     myMap.updateTiles(mySelectionStatus);
 }