コード例 #1
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();
            }
        }
コード例 #2
0
        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));
        }
コード例 #3
0
 void onFieldPosition(TileDescription cube)
 {
     operatorObject.transform.position = cube.standByPosition.position;
     isCanPlace = true;
     targetCube = cube;
 }