public void ResetTeams()
    {
        selectedSlot       = null;
        selectedHeroButton = null;
        for (int i = 0; i < container.childCount; i++)
        {
            HeroButton button = container.GetChild(i).GetComponent <HeroButton>();
            if (button != null)
            {
                button.team        = -1;
                button.selected    = false;
                button.highligthed = false;
            }
        }

        foreach (HeroButton button in teamASlots)
        {
            button.info        = null;
            button.highligthed = false;
        }

        foreach (HeroButton button in teamBSlots)
        {
            button.info        = null;
            button.highligthed = false;
        }
    }
    // Start is called before the first frame update
    void Start()
    {
        // Create all hero buttons that wait to be selected
        foreach (HeroInfo info in DataManager.instance.heroes.heroes)
        {
            HeroButton b = Instantiate(prefabHeroButton, container);
            b.info = info;

            b.GetComponent <Button>().onClick.AddListener(() =>
            {
                SetSelected(ref selectedHeroButton, b);
            });

            heroButtons.Add(b);
        }



        foreach (HeroButton button in teamASlots)
        {
            button.GetComponent <Button>().onClick.AddListener(() =>
            {
                SetSelected(ref selectedSlot, button);
            });
        }

        foreach (HeroButton button in teamBSlots)
        {
            button.GetComponent <Button>().onClick.AddListener(() =>
            {
                SetSelected(ref selectedSlot, button);
            });
        }
    }
    private void Update()
    {
        if (selectedHeroButton != null && selectedSlot != null)
        {
            DataManager.instance.audio["UI/SetTeam"].Play();
            if (selectedSlot.info != null)
            {
                HeroButton button = GetButtonWithHero(selectedSlot.info);
                if (button != null)
                {
                    button.team        = -1;
                    button.selected    = false;
                    button.highligthed = false;
                }
            }


            selectedSlot.highligthed       = false;
            selectedHeroButton.highligthed = false;

            selectedSlot.info           = selectedHeroButton.info;
            selectedHeroButton.team     = selectedSlot.team;
            selectedHeroButton.selected = true;


            // reset selection
            selectedSlot       = null;
            selectedHeroButton = null;

            selectLevelButton.interactable = GetTeamA().Count > 0 && GetTeamB().Count > 0;
        }
    }
Exemple #4
0
 void Start()
 {
     for (int i = 0; i < 4; i++)
     {
         HeroButton hb = GameObjectPoolManager.Instance.Pool_HeroButton.AllocateGameObject <HeroButton>(BG.transform);
         hb.Initialize(Players.NoPlayer, (Robots)i);
         HeroButtons[i] = hb;
         HeroButtons[i].JoinKeyText.text = keys.ToCharArray()[i].ToString();
     }
 }
Exemple #5
0
    public void PickHero(HeroButton heroButton)
    {
        if (Currency >= heroButton.Price)
        {
            this.ClickedBtn = heroButton;
            Hover.Instance.Activate(heroButton.Sprite);
            flagHere = heroButton.Flag;
            if (kubu == 1)
            {
                Dir1.SetActive(true);
                Dir2.SetActive(true);

                if (liveTower2 == 0)
                {
                    Dir1.SetActive(false);
                }
                if (liveTower3 == 0)
                {
                    Dir2.SetActive(false);
                }
            }

            else if (kubu == 2)
            {
                Dir3.SetActive(true);
                Dir4.SetActive(true);

                if (liveTower1 == 0)
                {
                    Dir3.SetActive(false);
                }
                if (liveTower3 == 0)
                {
                    Dir4.SetActive(false);
                }
            }

            else if (kubu == 3)
            {
                Dir5.SetActive(true);
                Dir6.SetActive(true);

                if (liveTower1 == 0)
                {
                    Dir5.SetActive(false);
                }
                if (liveTower2 == 0)
                {
                    Dir6.SetActive(false);
                }
            }
        }
    }
    HeroButton GetButtonWithHero(HeroInfo _info)
    {
        HeroButton button = null;

        foreach (HeroButton b in heroButtons)
        {
            if (b.info == _info)
            {
                button = b;
                break;
            }
        }

        return(button);
    }
    // HeroButton들을 Save하는 함수
    public void SaveHeroButton(HeroButton heroButton)
    {
        string key = heroButton.heroName;

        PlayerPrefs.SetInt(key + "_level", heroButton.level);
        PlayerPrefs.SetInt(key + "_cost", heroButton.currentCost);
        PlayerPrefs.SetInt(key + "_goldPerSec", heroButton.goldPerSec);

        if (heroButton.isPurchased == true)
        {
            PlayerPrefs.SetInt(key + "_isPurchased", 1);
        }
        else
        {
            PlayerPrefs.SetInt(key + "_isPurchased", 0);
        }
    }
 void SetSelected(ref HeroButton oldButton, HeroButton newButton)
 {
     if (oldButton != null)
     {
         oldButton.highligthed = false;
     }
     if (oldButton != newButton)
     {
         DataManager.instance.audio["Game/TileClicked"].Play();
         oldButton             = newButton;
         oldButton.highligthed = true;
     }
     else
     {
         oldButton = null;
     }
 }
    // HeroButton들을 Load하는 함수
    public void LoadHeroButton(HeroButton heroButton)
    {
        string key = heroButton.heroName;

        heroButton.level       = PlayerPrefs.GetInt(key + "_level", 1);
        heroButton.currentCost = PlayerPrefs.GetInt(key + "_cost",
                                                    heroButton.startCurrentCost);
        heroButton.goldPerSec = PlayerPrefs.GetInt(key + "_goldPerSec");

        if (PlayerPrefs.GetInt(key + "_isPurchased") == 1)
        {
            heroButton.isPurchased = true;
        }
        else
        {
            heroButton.isPurchased = false;
        }
    }
Exemple #10
0
    public void CreateHeroButtons()
    {
        if (heroButtonPrefab == null || heroPanelContent == null)
        {
            return;
        }

        for (int i = 0; i < Game.current.Heroes.Count; i++)
        {
            GameObject heroButtonClone = Instantiate(heroButtonPrefab) as GameObject;
            heroButtonClone.transform.SetParent(heroPanelContent, false);

            HeroParty heroParty = Game.current.Heroes [i];
            if (heroParty == null)
            {
                return;
            }

            Sprite sprite = Resources.Load(avatarPath + heroParty.Hero.Name, typeof(Sprite)) as Sprite;
            if (sprite != null)
            {
                Image image = heroButtonClone.GetComponent <Image> ();
                if (image != null)
                {
                    image.sprite = sprite;
                }
            }

            HeroButton heroButton = heroButtonClone.GetComponent <HeroButton> ();
            if (heroButton != null)
            {
                heroButton.SetHeroButton(heroParty);

                HeroButtons.Add(heroButton);
            }
        }
    }
Exemple #11
0
        public override void Initialize()
        {
            //Create background sprite
            Sprite Background = SpriteManager.AddSprite(Global.CONFIG_BG, FlatRedBallServices.GlobalContentManager, m_Layer);

            //Resize sprite
            Background.ScaleX = Background.Texture.Width / SpriteManager.Camera.PixelsPerUnitAt(0) / 2.0f;
            Background.ScaleY = Background.Texture.Height / SpriteManager.Camera.PixelsPerUnitAt(0) / 2.0f;

            #region Initialize Hero Buttons
            m_HeroButtons = new HeroButton[Global.HEROBUTTON_MENU.Length];
            for (int i = 0; i < m_HeroButtons.Length; i++)
            {
                //Create buttons
                m_HeroButtons[i] = new HeroButton(
                    Global.GUIManager,
                    Global.HEROBUTTON_MENU[i],
                    Global.HEROBUTTON_LEFT,
                    Global.HEROBUTTON_TOP + (i * Global.HEROBUTTON_SPACE),
                    "Images/HeroImage" + i,
                    Global.HEROBUTTON_INFO[i]);
                m_HeroButtons[i].Init();

                //Add the buttons
                m_Panel.Add(m_HeroButtons[i]);
                Global.GUIManager.Add(m_HeroButtons[i]);

                //Set event handler
                m_HeroButtons[i].Click += HeroChoose;
            }
            #endregion

            #region Initialize Board File ListBox
            //Create ListBox
            m_FileListBox = new ListBox(Global.GUIManager);

            //Init ListBox
            m_FileListBox.Init();
            m_FileListBox.Left   = Global.BOARD_LISTMENU_LEFT;
            m_FileListBox.Top    = Global.BOARD_LISTMENU_TOP;
            m_FileListBox.Width  = 228;
            m_FileListBox.Height = 400;

            //Fill ListBox with GameBoard file list
            List <string> m_TempList = null;
            m_TempList = FileManager.GetAllFilesInDirectory(Global.LEVEL_FOLDER, Global.BOARD_EXTENSION, 0);

            //Remove Extension and Path
            for (int i = 0; i < m_TempList.Count; ++i)
            {
                m_TempList[i] = FileManager.RemovePath(m_TempList[i]);
                m_TempList[i] = FileManager.RemoveExtension(m_TempList[i]);
                m_FileListBox.Items.Add(m_TempList[i]);
            }

            //add ListBox to GUI manager and State Panel List
            Global.GUIManager.Add(m_FileListBox);
            m_Panel.Add(m_FileListBox);
            #endregion

            #region Initialize Buttons
            m_MenuButtons = new Button[Global.CONFIG_MENU.Length];
            for (int i = 0; i < m_MenuButtons.Length; i++)
            {
                //Create buttons
                m_MenuButtons[i]       = new Button(Global.GUIManager);
                m_MenuButtons[i].Text  = Global.CONFIG_MENU[i];
                m_MenuButtons[i].Top   = Global.CONFIGBUTTON_TOP + (i * Global.CONFIGBUTTON_SPACE);
                m_MenuButtons[i].Left  = Global.CONFIGBUTTON_LEFT;
                m_MenuButtons[i].Width = Global.CONFIGBUTTON_WIDTH;
                m_MenuButtons[i].Init();

                //Add the buttons
                m_Panel.Add(m_MenuButtons[i]);
                Global.GUIManager.Add(m_MenuButtons[i]);

                //Set event handler
                m_MenuButtons[i].Click += MenuChoose;
            }
            #endregion

            //Set default selection
            m_FileListBox.ItemIndex      = 0;
            m_FileListBox.Focused        = true;
            m_HeroButtons[0].m_Highlight = true;
        }