/// <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; } }
private void Start() { myOldSelectionStatus = UnitTraits.UnitSelectionStatus.NotSelected; myOffset = new GameObject(); myOffset.transform.parent = transform; myOffset.transform.localPosition = new Vector3(.15f, .0f, .15f); }
private void checkSelectionStatus() { if (mySelectionStatus != oldSelectionStatus) { oldSelectionStatus = mySelectionStatus; } }
/// <summary> /// Continuously checked to see if the unit's selection status has changed. /// </summary> public void checkSelectionStatus() { if (mySelectionStatus != myOldSelectionStatus) { myOldSelectionStatus = mySelectionStatus; updateActionSelection(); } }
/// <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); }
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); } } } } }
/// <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; } }
/// <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); }