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; } }
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(); } }
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; } }
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); } } }
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; }