Exemplo n.º 1
0
        private int currentButtonID = -1;       //last touched button, for touch mode only
        public void OnTowerButton(GameObject butObj, int pointerID = -1)
        {
            int ID = GetButtonID(butObj);

            if (UIMainControl.InTouchMode() && !BuildManager.UseDragNDrop())
            {
                if (currentButtonID >= 0)
                {
                    buttonList[currentButtonID].imgHighlight.enabled = false;
                }
                if (currentButtonID != ID)
                {
                    currentButtonID = ID;
                    buttonList[ID].imgHighlight.enabled = true;
                    OnHoverButton(butObj);
                    return;
                }
                ClearTouchModeButton();
            }

            string exception = BuildManager.BuildTower(ID, buildInfo, pointerID);

            if (exception != "")
            {
                UIMessage.DisplayMessage(exception);
                return;
            }

            buildInfo = null;

            if (!BuildManager.UseDragNDrop())
            {
                Hide();
            }
        }
Exemplo n.º 2
0
        void Update()
        {
            if (BuildManager.UseDragNDrop() || !UIMainControl.UsePieMenu())
            {
                return;
            }

            if (buildInfo == null)
            {
                return;
            }

            Vector3        screenPos = Camera.main.WorldToScreenPoint(buildInfo.position) * UIMainControl.GetScaleFactor();
            List <Vector3> pos       = GetPieMenuPos(activeButtonList.Count, screenPos, 120, 50);

            for (int i = 0; i < activeButtonList.Count; i++)
            {
                if (i < pos.Count)
                {
                    activeButtonList[i].rectT.localPosition = pos[i];
                }
                else
                {
                    activeButtonList[i].rectT.localPosition = new Vector3(0, 9999, 0);
                }
            }
        }
Exemplo n.º 3
0
        void OnCursorDown(Vector3 cursorPos)
        {
            UnitTower tower = GameControl.Select(cursorPos);

            GameControl.SelectTower(tower);

            if (tower != null)
            {
                if (!BuildManager.UseDragNDrop())
                {
                    UIBuildButton.Hide();
                }
                if (autoCenterCamera)
                {
                    CameraControl.SetPosition(tower.thisT.position);
                }

                UITowerView.Show(tower);
            }
            else
            {
                UITowerView.Hide();

                if (!BuildManager.UseDragNDrop())
                {
                    BuildInfo buildInfo = BuildManager.CheckBuildPoint(cursorPos);
                    UIBuildButton.Show(buildInfo);
                    if (buildInfo.status == _TileStatus.Available && autoCenterCamera)
                    {
                        CameraControl.SetPosition(buildInfo.position);
                    }
                }
            }
        }
Exemplo n.º 4
0
        void Update()
        {
            if (Input.GetKeyDown(KeyCode.Escape))
            {
                if (BuildManager.UseDragNDrop() && BuildManager.InDragNDrop())
                {
                    return;
                }
                if (!UITowerView.IsOn() && !AbilityManager.IsSelectingTarget() && !UIPerkMenu.IsOn() && !UIFPS.IsOn())
                {
                    TogglePause();
                }
            }

            //keyboard for cursor based input start here
            if (!enableInput)
            {
                return;
            }

            if (Input.touchCount > 1)
            {
                return;
            }
            if (UI.IsCursorOnUI(0) || UI.IsCursorOnUI())
            {
                return;
            }

            if (Input.GetMouseButtonDown(0))
            {
                OnCursorDown(Input.mousePosition);
            }
        }
Exemplo n.º 5
0
        public void OnExitButton(GameObject butObj)
        {
            HideTooltip();

            if (!BuildManager.UseDragNDrop())
            {
                BuildManager.ClearSampleTower();
            }
        }
Exemplo n.º 6
0
        public void OnHoverButton(GameObject butObj)
        {
            ShowTooltip(BuildManager.GetSampleTower(GetButtonID(butObj)));

            if (!BuildManager.UseDragNDrop() && buildInfo != null)
            {
                BuildManager.ShowSampleTower(GetButtonID(butObj), buildInfo);
            }
        }
Exemplo n.º 7
0
 void OnDragNDrop(bool flag)
 {
     if (!BuildManager.UseDragNDrop())
     {
         return;
     }
     butCancelCanvasG.alpha        = flag ? 1 : 0;
     butCancelCanvasG.interactable = flag;
 }
Exemplo n.º 8
0
        public void _Show(BuildInfo bInfo = null)
        {
            if (!BuildManager.UseDragNDrop())
            {
                if (bInfo != null)
                {
                    ClearTouchModeButton();
                    buildInfo = bInfo;                  //BuildManager.GetBuildInfo();
                    UpdateActiveBuildButtonList();
                }
                else
                {
                    return;
                }
            }

            rectT.localPosition = new Vector3(0, 0, 0);
            UIMainControl.FadeIn(canvasGroup, 0.25f, thisObj);
        }
Exemplo n.º 9
0
        void Start()
        {
            if (BuildManager.GetInstance() == null)
            {
                return;
            }

            List <UnitTower> towerList = BuildManager.GetTowerList();

            for (int i = 0; i < towerList.Count; i++)
            {
                if (i == 0)
                {
                    buttonList[0].Init();
                }
                else if (i > 0)
                {
                    buttonList.Add(UIButton.Clone(buttonList[0].rootObj, "BuildButton" + (i + 1)));
                }

                buttonList[i].imgIcon.sprite       = towerList[i].iconSprite;
                buttonList[i].imgHighlight.enabled = false;

                if (UIMainControl.InTouchMode())
                {
                    buttonList[i].SetCallback(null, null, this.OnTowerButton, null);
                }
                else
                {
                    buttonList[i].SetCallback(this.OnHoverButton, this.OnExitButton, this.OnTowerButton, null);
                }
            }

            if (!BuildManager.UseDragNDrop())
            {
                canvasGroup.alpha   = 0;
                rectT.localPosition = new Vector3(0, 99999, 0);
            }

            if (!BuildManager.UseDragNDrop() && UIMainControl.UsePieMenu())
            {
                layoutGroup.enabled = false;
                tooltipObj.transform.localPosition -= new Vector3(0, 60, 0);
            }
            else
            {
                layoutGroup.enabled = true;
            }


            List <Rsc> rscList = ResourceManager.GetResourceList();

            for (int i = 0; i < rscList.Count; i++)
            {
                if (i == 0)
                {
                    tooltipRscItemList[0].Init();
                }
                else
                {
                    tooltipRscItemList.Add(UIObject.Clone(tooltipRscItemList[0].rootObj, "Rsc" + (i + 1)));
                }

                tooltipRscItemList[i].imgRoot.sprite = rscList[i].icon;
                tooltipRscItemList[i].label.text     = rscList[i].value.ToString();
            }

            if (!BuildManager.UseDragNDrop())
            {
                butCancelObj.SetActive(false);
            }
            else
            {
                butCancelCanvasG = butCancelObj.AddComponent <CanvasGroup>();
                butCancelObj.transform.SetAsLastSibling();
                OnDragNDrop(false);
            }

            tooltipObj.SetActive(false);
        }