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);
        }
Esempio n. 2
0
        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();
            }
        }