Beispiel #1
0
        public void updateCashAndIncome()
        {
            // muhtemelen burada hicbir is yapmaya gerek yok. adamin para gostergesinin etrafinda isiklar cikartabiliriz paranin degistigine vurgu yapmak icin.
            uiControllerGame.setMoney(PlayerMe.cash, PlayerMe.income);

            foreach (var button in uiControllerGame.towerAndMinionButtons)    // paramizin yetmedigi butonlari kirmizi yapalim
            {
                if (typeof(Minion).IsAssignableFrom(button.Key))
                {
                    if (TypeIdGenerator.getMinionClass(TypeIdGenerator.getMinionId(button.Key)).getCost() > PlayerMe.cash)
                    {
                        foreach (var obj in button.Value.transform.GetComponentsInChildren <UISlicedSprite>(true))
                        {
                            if (obj.gameObject.transform.name == "NotEnoughMoneyLayer")
                            {
                                obj.gameObject.SetActive(true);
                            }
                        }
                    }
                    else
                    {
                        foreach (var obj2 in button.Value.transform.GetComponentsInChildren <UISlicedSprite>(true))
                        {
                            if (obj2.gameObject.transform.name == "NotEnoughMoneyLayer")
                            {
                                obj2.gameObject.SetActive(false);
                            }
                        }
                    }
                }
                else if (typeof(Tower).IsAssignableFrom(button.Key))
                {
                    if (TypeIdGenerator.getTowerClass(TypeIdGenerator.getTowerId(button.Key)).getCost() > PlayerMe.cash)
                    {
                        foreach (var obj in button.Value.transform.GetComponentsInChildren <UISlicedSprite>(true))
                        {
                            if (obj.gameObject.transform.name == "NotEnoughMoneyLayer")
                            {
                                obj.gameObject.SetActive(true);
                            }
                        }
                    }
                    else
                    {
                        foreach (var obj2 in button.Value.transform.GetComponentsInChildren <UISlicedSprite>(true))
                        {
                            if (obj2.gameObject.transform.name == "NotEnoughMoneyLayer")
                            {
                                obj2.gameObject.SetActive(false);
                            }
                        }
                    }
                }
            }
        }
Beispiel #2
0
        public void sendCreateTowerRequest(Type type, int slotId)
        {
            int towerId = TypeIdGenerator.getTowerId(type);

            if (PlayerMe.cash < TypeIdGenerator.getMinionClass(towerId).getCost())
            {
                Announcement.make("[FF0000]Not enough money[-]", Announcement.ScreenPosition.MiddleBottom, 2.0f, 20.0f);
            }
            else
            {
                GCreateTowerRequest.sendMessage(towerId, slotId);
                if (!Input.GetKey(KeyCode.LeftControl))
                {
                    MouseHandler.selectedTowerType = null;
                    uiControllerGame.selectedTowerOverlayObject.SetActive(false);
                }
            }
        }
Beispiel #3
0
    public void createMinion(string minionTypeId)
    {
        int minionId = Int32.Parse(minionTypeId);

        if (UICamera.currentTouchID == -2)
        {
            panel_TowerInfo.SetActive(false);
            alwaysActiveInfoPanel = true;
            IMinionGUI minionGUI = TypeIdGeneratorGUI.minionGuiInst[minionId];
            minionGUI.drawInfoPanelGUI();
        }
        else
        {
            if (PlayerMe.cash < TypeIdGenerator.getMinionClass(minionId).getCost())
            {
                Announcement.make("[FF0000]Not enough money[-]", Announcement.ScreenPosition.MiddleBottom, 2.0f, 20.0f);
            }
            else
            {
                Assets.Scripts.Engine.Messages.OutgoingMessages.Game.GCreateMinionRequest.sendMessage(minionId);
            }
        }
    }
Beispiel #4
0
    public void createMinionAndTowerButtons()
    {
        var children = new System.Collections.Generic.List <GameObject>();

        foreach (Transform child in createMinionTowerContainer.transform)
        {
            children.Add(child.gameObject);
        }
        children.ForEach(child => GameObject.Destroy(child));

        int btnIndex = 0;

        button_CreateTower.SetActive(true);
        button_CreateMinion.SetActive(true);

        // sort minions order by cost
        List <Type> minionsSortedByCost = new List <Type>();

        for (int j = 0; j < PlayerMe.availableMinionTypes.Count; j++)
        {
            if (TypeIdGeneratorGUI.minionGuiInst.ContainsKey(TypeIdGenerator.getMinionId(PlayerMe.availableMinionTypes[j])))
            {
                minionsSortedByCost.Add(PlayerMe.availableMinionTypes[j]);
            }
        }
        minionsSortedByCost.Sort(delegate(Type t1, Type t2) {
            Minion m1 = TypeIdGenerator.getMinionClass(TypeIdGenerator.getMinionId(t1));
            Minion m2 = TypeIdGenerator.getMinionClass(TypeIdGenerator.getMinionId(t2));
            if (m1.getCost() < m2.getCost())
            {
                return(-1);
            }
            else
            {
                return(1);
            }
        });

        foreach (Type minionType in minionsSortedByCost)
        {
            int minionTypeId = TypeIdGenerator.getMinionId(minionType);
            if (TypeIdGeneratorGUI.minionGuiInst.ContainsKey(minionTypeId))
            {
                GameObject button = (GameObject)GameObject.Instantiate(button_CreateMinion);
                button.transform.parent        = createMinionTowerContainer.transform;
                button.transform.localScale    = new Vector3(1, 1, 1);
                button.transform.localPosition = button_CreateMinion.transform.localPosition + new Vector3(50 * btnIndex, 0, 0);

                UIButtonMessage[] button_messages = button.GetComponents <UIButtonMessage>();
                foreach (var btn_msg in button_messages)
                {
                    btn_msg.parameter = minionTypeId.ToString();
                }

                IMinionGUI minionGUI = TypeIdGeneratorGUI.minionGuiInst[minionTypeId];
                minionGUI.drawCreateMinionButtonGUI(button);
                towerAndMinionButtons.Add(minionType, button);
                btnIndex++;
            }
        }

        // sort towers order by cost
        List <Type> towersSortedByCost = new List <Type>();

        for (int j = 0; j < PlayerMe.availableTowerTypes.Count; j++)
        {
            if (TypeIdGeneratorGUI.towerGuiInst.ContainsKey(TypeIdGenerator.getTowerId(PlayerMe.availableTowerTypes[j])))
            {
                towersSortedByCost.Add(PlayerMe.availableTowerTypes[j]);
            }
        }
        towersSortedByCost.Sort(delegate(Type t1, Type t2)
        {
            Tower m1 = TypeIdGenerator.getTowerClass(TypeIdGenerator.getTowerId(t1));
            Tower m2 = TypeIdGenerator.getTowerClass(TypeIdGenerator.getTowerId(t2));
            if (m1.getCost() < m2.getCost())
            {
                return(-1);
            }
            else
            {
                return(1);
            }
        });

        btnIndex = 0;
        foreach (Type towerType in towersSortedByCost)
        {
            int towerTypeId = TypeIdGenerator.getTowerId(towerType);
            if (TypeIdGeneratorGUI.towerGuiInst.ContainsKey(towerTypeId))
            {
                GameObject button = (GameObject)GameObject.Instantiate(button_CreateTower);
                button.transform.parent        = createMinionTowerContainer.transform;
                button.transform.localScale    = new Vector3(1, 1, 1);
                button.transform.localPosition = button_CreateTower.transform.localPosition + new Vector3(50 * btnIndex, 0, 0);

                UIButtonMessage[] button_messages = button.GetComponents <UIButtonMessage>();
                foreach (var btn_msg in button_messages)
                {
                    btn_msg.parameter = towerTypeId.ToString();
                }

                ITowerGUI towerGUI = TypeIdGeneratorGUI.towerGuiInst[towerTypeId];
                towerGUI.drawCreateTowerButtonGUI(button);
                towerAndMinionButtons.Add(towerType, button);
                btnIndex++;
            }
        }

        button_CreateTower.SetActive(false);
        button_CreateMinion.SetActive(false);
    }