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 EndOperator() { StopAllCoroutines(); tilePosition = null; foreach (EnemyController blockEnemy in blockingEnemy) { blockEnemy.isMove = true; blockEnemy.blockByOperator = null; } transform.position = new Vector3(9999f, 9999f, 9999f); SetStartHP(_operatorData.maxHP); blockingEnemy.Clear(); enemyInRange.Clear(); capsuleColliderComponent.enabled = false; //UnityEditor.EditorApplication.delayCall += () => //{ ChangeArmatureData(operatorObject, operatorObject.armatureName.Replace("_Back", "_Front"), operatorObject.unityData.dataName); //}; operatorObject.armature.flipX = false; operatorObject.DBUpdate(); _underlayObject.transform.localEulerAngles = new Vector3(_underlayObject.transform.localEulerAngles.x, 180f, _underlayObject.transform.localEulerAngles.z); DrowRange(SetupDirection.Right); foreach (RangeTile tileRange in rangeTiles) { tileRange.GetComponent <BoxCollider>().enabled = false; } StartCoroutine(CooldawnRedeploy(_operatorData.RedeployTyme)); }
void onFieldPosition(TileDescription cube) { operatorObject.transform.position = cube.standByPosition.position; isCanPlace = true; targetCube = cube; }