Ejemplo n.º 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();
            }
        }
Ejemplo n.º 2
0
        public void reBackUpRange(OperatorController operatorController)
        {
            bool isActiveRange = operatorController.IsRangeShow();

            operatorController.DrowRange(operatorController.setupDirection, true);
            if (isActiveRange)
            {
                operatorController.ShowRange();
            }
            else
            {
                operatorController.HideRange();
            }
        }
Ejemplo n.º 3
0
        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();
                        }
                    }
                }
            }
        }