public static void DeployOperator(GameObject operatorObject, TileDescription targetCube) { if (!isDeployedOperator(operatorObject)) { DeployedOperatorOnGame newDeploy = new DeployedOperatorOnGame(); newDeploy.operatorObject = operatorObject; newDeploy.operatorPlaceCube = targetCube; deployedOperatorOnGame.Add(new KeyValuePair <TileDescription, GameObject>(targetCube, operatorObject)); OperatorController operatorController = operatorObject.GetComponent <OperatorController>(); decreaseDP(operatorController._operatorData.DpCost); decreaseUnitLimit(1); targetCube.typeTile = TileDescription.TypeTile.NoneStandableTyle; mainInterfaceFields.operatorPanelCreate.checkDPCostAndUnitLimit(); operatorController.HideRange(); mainInterfaceFields.selectOperatorUI.displaySelectedPanel.SetActive(false); operatorObject.GetComponent <CapsuleCollider>().enabled = true; foreach (RangeTile tileRange in operatorController.rangeTiles) { tileRange.GetComponent <BoxCollider>().enabled = true; } operatorController.SetStartHP(operatorController._operatorData.maxHP); operatorController._operatorHP.GetComponent <UIOperatorHp>().SetHPCurMax(operatorController._operatorData.maxHP, operatorController._operatorData.maxHP); TimeScaleReset(); } }
public void reBackUpRange(OperatorController operatorController) { bool isActiveRange = operatorController.IsRangeShow(); operatorController.DrowRange(operatorController.setupDirection, true); if (isActiveRange) { operatorController.ShowRange(); } else { operatorController.HideRange(); } }
void Update() { if (Input.GetMouseButtonDown(0)) { RaycastHit hitInfo = new RaycastHit(); bool hit = Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out hitInfo); if (hit) { if (EventSystem.current.IsPointerOverGameObject()) { return; } if (hitInfo.transform.gameObject.TryGetComponent <OperatorController>(out OperatorController _operatorController)) { if (operatorController != null) { operatorController.HideRange(); } operatorController = _operatorController; UpdateSelectInfo(operatorController._operatorData); displaySelectedPanel.SetActive(true); operatorController.ShowRange(); } else { displaySelectedPanel.SetActive(false); if (operatorController != null) { operatorController.HideRange(); } } } } }