示例#1
0
    private IEnumerator LoadDeckViewTask(int deckIndex)
    {
        yield return(new WaitForSeconds(0.01f));

        DeckPanel panel = GetPanelByDeckIndex(deckIndex);

        if (panel != null)
        {
            DeckViewControllerComponent.StartPlace = panel.transform;
        }
        if (deckIndex < DeckBaseComponent.DecksNumber)
        {
            DeckViewControllerComponent.EditButton.interactable = true;
            DeckViewControllerComponent.DeckName.interactable   = true;
            DeckViewControllerComponent.LoadDeckView(DeckBaseComponent.MyDecks [deckIndex].CardsNames,
                                                     DeckBaseComponent.MyDecks [deckIndex].HeroName, DeckBaseComponent.MyDecks [deckIndex].DeckName, deckIndex);
        }
        else
        {
            deckIndex -= DeckBaseComponent.DecksNumber;
            DeckViewControllerComponent.EditButton.interactable = false;
            DeckViewControllerComponent.DeckName.interactable   = false;
            DeckViewControllerComponent.LoadDeckView(DeckBaseComponent.PremadeDecks [deckIndex].CardsNames,
                                                     DeckBaseComponent.PremadeDecks [deckIndex].HeroName, DeckBaseComponent.PremadeDecks [deckIndex].DeckName, deckIndex);
        }
        yield return(null);
    }
示例#2
0
    public void SetDeck(SavedDeck deck, DeckPanel deckPanel)
    {
        nameText.text = deck.name;

        editButton.onClick.AddListener(() => deckPanel.EditDeck(deck));
        deleteButton.onClick.AddListener(() => deckPanel.DeleteDeck(gameObject, deck));
    }
 public ElementSorterItem(DeckPanel panel, bool isChecked, Action <bool> setConfigValue, bool isPlayerList)
 {
     InitializeComponent();
     Panel = panel;
     CheckBox.IsChecked = isChecked;
     _setConfigValue    = setConfigValue;
     _isPlayerList      = isPlayerList;
     _initialized       = true;
 }
		public ElementSorterItem(DeckPanel panel, bool isChecked, Action<bool> setConfigValue, bool isPlayerList)
		{
			InitializeComponent();
			Panel = panel;
			CheckBox.IsChecked = isChecked;
			_setConfigValue = setConfigValue;
			_isPlayerList = isPlayerList;
			_initialized = true;
		}
示例#5
0
 private DeckPanel GetPanelByDeckIndex(int index)
 {
     foreach (Transform childTransform in DeckTable)
     {
         DeckPanel rv = childTransform.GetComponent <DeckPanel> ();
         if (rv != null && rv.index == index)
         {
             return(rv);
         }
     }
     return(null);
 }
示例#6
0
 public void ActiveList(int idx = 0)
 {
     PlayButton.interactable = false;
     foreach (Transform childTransform in DeckTable)
     {
         DeckPanel panelComponent = childTransform.GetComponent <DeckPanel> ();
         if (panelComponent != null && panelComponent.DeckAvailable)
         {
             if (panelComponent.GetDeckIndex() == idx)
             {
                 Debug.Log("Activate deck panel " + idx);
                 PlayButton.interactable = true;
                 panelComponent.SelectDeck();
                 break;
             }
         }
     }
 }
示例#7
0
 public void ChooseDeck(int idx)
 {
     if (MainMenuComponent.DeckChooseMode)
     {
         foreach (Transform childTransform in DeckTable)
         {
             DeckPanel panelComponent = childTransform.GetComponent <DeckPanel> ();
             if (panelComponent != null && panelComponent.DeckAvailable)
             {
                 if (panelComponent.GetDeckIndex() != idx)
                 {
                     panelComponent.DeSelectDeck();
                 }
                 else
                 {
                     NetworkingObject.GetComponent <MyNetworkManager> ().SetDeckToPlay(panelComponent.Deck);
                     MainMenuComponent.PlayerComponent.localPlayerData.deck = idx;
                     MainMenuComponent.PlayerComponent.SavePlayerData();
                     if (ScrollRectEnsureVisibleComponent != null)
                     {
                         ScrollRectEnsureVisibleComponent.GetComponent <ScrollRect> ().movementType = ScrollRect.MovementType.Unrestricted;
                         ScrollRectEnsureVisibleComponent.CenterOnItem(childTransform.GetComponent <RectTransform> ());
                     }
                 }
             }
         }
     }
     else if (MainMenuComponent.ChooseGameMode)
     {
         MainMenuComponent.gotoDeckChooseMenu();
     }
     else
     {
         LoadDeck(idx);
     }
 }
示例#8
0
    private GameObject SpawnDeckPanel(int deckIndex, DeckBase.DeckFromDeckBase DeckInfo, Transform table, bool Editable = true, int DeckRenderOrder = 3)
    {
        int i = deckIndex;

        if ((DeckInfo.DeckName.Equals("empty")))
        {
            MainMenuComponent.PlayerComponent.localPlayerData.deck = 0;
            MainMenuComponent.PlayerComponent.SavePlayerData();
            i = 0;
        }
        if (!(DeckInfo.DeckName.Equals("empty")))
        {
            GameObject deck = SpawnDeck(
                DeckInfo.DeckName,
                DeckInfo.HeroName,
                DeckInfo.CardsNames,
                DeckRenderOrder
                );
            GameObject panel          = (GameObject)Instantiate(DeckPanel);
            DeckPanel  panelComponent = panel.GetComponent <DeckPanel> ();
            Deck       deckComponent  = deck.GetComponent <Deck> ();

            if (!Editable)
            {
                panelComponent.EditBTN.interactable = false;
                panelComponent.DelBTN.interactable  = false;
            }

            NetworkingObject.GetComponent <MyNetworkManager> ().SetDeckToPlay(deck);

            DecksInScene [i] = deck;
            deckComponent.Hero.GetComponent <SpriteRenderer> ().sortingOrder = 30;
            //DecksInScene [i].transform.SetParent (DecksPosRoot.transform, false);
            panel.transform.SetParent(table, false);
            DecksInScene [i].transform.localScale = new Vector3(DeckPanelScale, DeckPanelScale, DeckPanelScale);
            panel.transform.localScale            = new Vector3(DeckPanelScale, DeckPanelScale, DeckPanelScale);

            DecksInScene [i].transform.SetParent(panel.transform.GetChild(0).transform);
            DecksInScene [i].transform.localPosition = panelComponent.Deck.transform.localPosition;
            DecksInScene [i].transform.localRotation = panelComponent.Deck.transform.localRotation;
            DecksInScene [i].transform.localScale    = panelComponent.Deck.transform.localScale;

            if (panelComponent.Deck.gameObject != null)
            {
                Destroy(panelComponent.Deck.gameObject);
            }
            panelComponent.Hero          = deckComponent.Hero;
            panelComponent.Deck          = DecksInScene [i];
            panelComponent.DeckName.text = deckComponent.DeckName;
            panelComponent.PanelActive   = true;
            panelComponent.index         = i;
            if (deckComponent.cardsInDeck != Deck.deckSize)
            {
                panelComponent.UncompleteDeck();
            }
            Debug.Log("Show deck panel nr " + i);
            return(panel);
        }
        else
        {
            MainMenuComponent.gotoDeckSelect();
        }
        return(null);
    }