public GameObject CreateOperator(GameObject operatorCreate, OperatorData operatorData, UISelectAvatar selectAvatar) { GameObject OperatorUI = Instantiate(MainController.OperatorInterfaseObject, operatorsParent.transform); OperatorUI.name = operatorData.Name; GameObject Operator = Instantiate(operatorCreate, OperatorUI.transform); Operator.transform.SetSiblingIndex(0); OperatorController operatorController = OperatorUI.GetComponent <OperatorController>(); operatorController.selectAvatar = selectAvatar; operatorController._operatorObject = Operator; operatorController._operatorData = operatorData; operatorController.SetStartHP(operatorController._operatorData.maxHP); operatorController.SetStartSkillPoint(operatorController._operatorData.skill.initCost, operatorController._operatorData.skill.cost); CapsuleCollider capsuleCollider = OperatorUI.AddComponent <CapsuleCollider>(); capsuleCollider.radius = 0.35f; Rigidbody rigidbody = OperatorUI.AddComponent <Rigidbody>(); rigidbody.useGravity = false; rigidbody.constraints = RigidbodyConstraints.FreezeAll; Operators.Add(OperatorUI); OperatorUI.transform.position = new Vector3(9999f, 9999f, 9999f); return(OperatorUI); }
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(); } }