Exemple #1
0
    private void printSelected()
    {
        GameTextureManager.clearUnloaded();
        YGOSharp.Deck deck;
        DeckManager.FromYDKtoCodedDeck(DECK_PATH + deckSelected + ".ydk", out deck);
        int mainAll      = 0;
        int mainMonster  = 0;
        int mainSpell    = 0;
        int mainTrap     = 0;
        int sideAll      = 0;
        int sideMonster  = 0;
        int sideSpell    = 0;
        int sideTrap     = 0;
        int extraAll     = 0;
        int extraFusion  = 0;
        int extraLink    = 0;
        int extraSync    = 0;
        int extraXyz     = 0;
        int currentIndex = 0;

        int[] hangshu = UIHelper.get_decklieshuArray(deck.Main.Count);
        foreach (var item in deck.Main)
        {
            mainAll++;
            YGOSharp.Card c = YGOSharp.CardsManager.Get(item);
            if ((c.Type & (UInt32)CardType.Monster) > 0)
            {
                mainMonster++;
            }
            if ((c.Type & (UInt32)CardType.Spell) > 0)
            {
                mainSpell++;
            }
            if ((c.Type & (UInt32)CardType.Trap) > 0)
            {
                mainTrap++;
            }
            quickCards[currentIndex].reCode(item);
            Vector2 v = UIHelper.get_hang_lieArry(mainAll - 1, hangshu);
            quickCards[currentIndex].transform.localPosition = new Vector3
                                                               (
                -176.3f + UIHelper.get_left_right_indexZuo(0, 352f, (int)v.y, hangshu[(int)v.x], 10)
                ,
                161.6f - v.x * 60f
                ,
                0
                                                               );
            if (currentIndex <= 198)
            {
                currentIndex++;
            }
        }
        foreach (var item in deck.Side)
        {
            sideAll++;
            YGOSharp.Card c = YGOSharp.CardsManager.Get(item);
            if ((c.Type & (UInt32)CardType.Monster) > 0)
            {
                sideMonster++;
            }
            if ((c.Type & (UInt32)CardType.Spell) > 0)
            {
                sideSpell++;
            }
            if ((c.Type & (UInt32)CardType.Trap) > 0)
            {
                sideTrap++;
            }
            quickCards[currentIndex].reCode(item);
            quickCards[currentIndex].transform.localPosition = new Vector3
                                                               (
                -176.3f + UIHelper.get_left_right_indexZuo(0, 352f, sideAll - 1, deck.Side.Count, 10)
                ,
                -181.1f
                ,
                0
                                                               );
            if (currentIndex <= 198)
            {
                currentIndex++;
            }
        }
        foreach (var item in deck.Extra)
        {
            extraAll++;
            YGOSharp.Card c = YGOSharp.CardsManager.Get(item);
            if ((c.Type & (UInt32)CardType.Fusion) > 0)
            {
                extraFusion++;
            }
            if ((c.Type & (UInt32)CardType.Synchro) > 0)
            {
                extraSync++;
            }
            if ((c.Type & (UInt32)CardType.Xyz) > 0)
            {
                extraXyz++;
            }
            if ((c.Type & (UInt32)CardType.Link) > 0)
            {
                extraLink++;
            }
            quickCards[currentIndex].reCode(item);
            quickCards[currentIndex].transform.localPosition = new Vector3
                                                               (
                -176.3f + UIHelper.get_left_right_indexZuo(0, 352f, extraAll - 1, deck.Extra.Count, 10)
                ,
                -99.199f
                ,
                0
                                                               );
            if (currentIndex <= 198)
            {
                currentIndex++;
            }
        }
        while (true)
        {
            quickCards[currentIndex].clear();
            if (currentIndex <= 198)
            {
                currentIndex++;
            }
            else
            {
                break;
            }
        }
        deckPanel.leftMain.text   = GameStringHelper._zhukazu + mainAll;
        deckPanel.leftExtra.text  = GameStringHelper._ewaikazu + extraAll;
        deckPanel.leftSide.text   = GameStringHelper._fukazu + sideAll;
        deckPanel.rightMain.text  = GameStringHelper._guaishou + mainMonster + " " + GameStringHelper._mofa + mainSpell + " " + GameStringHelper._xianjing + mainTrap;
        deckPanel.rightExtra.text = GameStringHelper._ronghe + extraFusion + " " + GameStringHelper._tongtiao + extraSync + " " + GameStringHelper._chaoliang + extraXyz + " " + GameStringHelper._lianjie + extraLink;
        deckPanel.rightSide.text  = GameStringHelper._guaishou + sideMonster + " " + GameStringHelper._mofa + sideSpell + " " + GameStringHelper._xianjing + sideTrap;
    }
Exemple #2
0
    private void printSelected()
    {
        GameTextureManager.clearUnloaded();
        YGOSharp.Deck deck;
        DeckManager.FromYDKtoCodedDeck("deck/" + deckSelected + ".ydk", out deck);
        int  mainAll      = 0;
        int  mainMonster  = 0;
        int  mainSpell    = 0;
        int  mainTrap     = 0;
        int  sideAll      = 0;
        int  sideMonster  = 0;
        int  sideSpell    = 0;
        int  sideTrap     = 0;
        int  extraAll     = 0;
        int  extraFusion  = 0;
        int  extraLink    = 0;
        int  extraSync    = 0;
        int  extraXyz     = 0;
        int  currentIndex = 0;
        bool resaveDeck   = false;

        int[] hangshu = UIHelper.get_decklieshuArray(deck.Main.Count);
        foreach (var item in deck.Main)
        {
            mainAll++;
            YGOSharp.Card c = YGOSharp.CardsManager.Get(item);
            if ((c.Type & (UInt32)CardType.Monster) > 0)
            {
                mainMonster++;
            }
            if ((c.Type & (UInt32)CardType.Spell) > 0)
            {
                mainSpell++;
            }
            if ((c.Type & (UInt32)CardType.Trap) > 0)
            {
                mainTrap++;
            }
            if (item != c.Id && c.Id != 0 && Program.I().setting.autoDeckUpdate)
            {
                deck.Deck_O.Main[deck.Deck_O.Main.IndexOf(item)] = c.Id;
                resaveDeck = true;
                quickCards[currentIndex].reCode(c.Id);
            }
            else
            {
                quickCards[currentIndex].reCode(item);
            }
            Vector2 v = UIHelper.get_hang_lieArry(mainAll - 1, hangshu);
            quickCards[currentIndex].transform.localPosition = new Vector3
                                                               (
                -176.3f + UIHelper.get_left_right_indexZuo(0, 352f, (int)v.y, hangshu[(int)v.x], 10)
                ,
                161.6f - v.x * 60f
                ,
                0
                                                               );
            if (currentIndex <= 198)
            {
                currentIndex++;
            }
        }
        foreach (var item in deck.Side)
        {
            sideAll++;
            YGOSharp.Card c = YGOSharp.CardsManager.Get(item);
            if ((c.Type & (UInt32)CardType.Monster) > 0)
            {
                sideMonster++;
            }
            if ((c.Type & (UInt32)CardType.Spell) > 0)
            {
                sideSpell++;
            }
            if ((c.Type & (UInt32)CardType.Trap) > 0)
            {
                sideTrap++;
            }
            if (item != c.Id && c.Id != 0 && Program.I().setting.autoDeckUpdate)
            {
                deck.Deck_O.Side[deck.Deck_O.Side.IndexOf(item)] = c.Id;
                resaveDeck = true;
                quickCards[currentIndex].reCode(c.Id);
            }
            else
            {
                quickCards[currentIndex].reCode(item);
            }
            quickCards[currentIndex].transform.localPosition = new Vector3
                                                               (
                -176.3f + UIHelper.get_left_right_indexZuo(0, 352f, sideAll - 1, deck.Side.Count, 10)
                ,
                -181.1f
                ,
                0
                                                               );
            if (currentIndex <= 198)
            {
                currentIndex++;
            }
        }
        foreach (var item in deck.Extra)
        {
            extraAll++;
            YGOSharp.Card c = YGOSharp.CardsManager.Get(item);
            if ((c.Type & (UInt32)CardType.Fusion) > 0)
            {
                extraFusion++;
            }
            if ((c.Type & (UInt32)CardType.Synchro) > 0)
            {
                extraSync++;
            }
            if ((c.Type & (UInt32)CardType.Xyz) > 0)
            {
                extraXyz++;
            }
            if ((c.Type & (UInt32)CardType.Link) > 0)
            {
                extraLink++;
            }
            if (item != c.Id && c.Id != 0 && Program.I().setting.autoDeckUpdate)
            {
                deck.Deck_O.Extra[deck.Deck_O.Extra.IndexOf(item)] = c.Id;
                resaveDeck = true;
                quickCards[currentIndex].reCode(c.Id);
            }
            else
            {
                quickCards[currentIndex].reCode(item);
            }
            quickCards[currentIndex].transform.localPosition = new Vector3
                                                               (
                -176.3f + UIHelper.get_left_right_indexZuo(0, 352f, extraAll - 1, deck.Extra.Count, 10)
                ,
                -99.199f
                ,
                0
                                                               );
            if (currentIndex <= 198)
            {
                currentIndex++;
            }
        }
        while (true)
        {
            quickCards[currentIndex].clear();
            if (currentIndex <= 198)
            {
                currentIndex++;
            }
            else
            {
                break;
            }
        }
        deckPanel.leftMain.text   = GameStringHelper._zhukazu + mainAll;
        deckPanel.leftExtra.text  = GameStringHelper._ewaikazu + extraAll;
        deckPanel.leftSide.text   = GameStringHelper._fukazu + sideAll;
        deckPanel.rightMain.text  = GameStringHelper._guaishou + mainMonster + " " + GameStringHelper._mofa + mainSpell + " " + GameStringHelper._xianjing + mainTrap;
        deckPanel.rightExtra.text = GameStringHelper._ronghe + extraFusion + " " + GameStringHelper._tongtiao + extraSync + " " + GameStringHelper._chaoliang + extraXyz + " " + GameStringHelper._lianjie + extraLink;
        deckPanel.rightSide.text  = GameStringHelper._guaishou + sideMonster + " " + GameStringHelper._mofa + sideSpell + " " + GameStringHelper._xianjing + sideTrap;
        if (resaveDeck && Program.I().setting.autoDeckUpdate)
        {
            Program.I().deckManager.deck = deck;
            RMSshow_none("This deck has been updated becase it contained cards with beta IDs that got removed.\nPlease confirm your deck has no missing cards.");
            Config.Set("deckInUse", deckSelected);
            Program.I().deckManager.onSave();
            //resaveDecklist
        }
    }