示例#1
0
    void IBeginDragHandler.OnBeginDrag(PointerEventData eve)
    {
        DeckUI deckUI = DeckUI.GetInstance();

        prePos        = eve.position;
        selectedIndex = (int)((eve.position.x - cardPanel.position.x) / deckUI.slotSize + 1);
    }
 public void OpenDeckSimulator()
 {
     // UI -> include DeckData.Load
     UI     = Instantiate(UI) as GameObject;
     deckUI = DeckUI.GetInstance();
     DeckSettingUI.synchronizeAll();
 }
示例#3
0
    DeckUI GetDeckUI(int i)
    {
        DeckUI result = null;

        switch (i)
        {
        case ComVal.Area_Extra:
            result = ui_ExtraDeck;
            break;

        case ComVal.Area_Graveyard:
            result = ui_GraveyardDeck;
            break;

        case ComVal.Area_MainDeck:
            result = ui_MainDeck;
            break;

        case ComVal.Area_Remove:
            result = ui_RemoveDeck;
            break;

        default:
            Debug.Log("error:" + i);
            break;
        }
        return(result);
    }
示例#4
0
    void createPlayableCards()
    {
        string[] decksMade = DeckRW.getDecks();
        for (int i = 0; i < decksMade.Length; i++)
        {
            GameObject d   = Instantiate(deckPre, decksMadeList.transform);
            DeckUI     dui = d.GetComponent <DeckUI>();
            dui.assignName(decksMade[i], this);
        }

        //foreach(GameObject c in deckCards.main)
        for (int i = 0; i < deckCards.main.Count; i++)
        {
            GameObject c    = deckCards.main[i];
            Cardmaker  mkr  = c.GetComponent <Cardmaker>();
            GameObject card = Instantiate(buildCardPre, mainCardList.transform);
            card.GetComponent <BuildCard>().initalize(mkr, i, this, deckType.main);
        }

        for (int i = 0; i < deckCards.structures.Count; i++)
        {
            GameObject c    = deckCards.structures[i];
            Cardmaker  mkr  = c.GetComponent <Cardmaker>();
            GameObject card = Instantiate(buildCardPre, strcCardList.transform);
            card.GetComponent <BuildCard>().initalize(mkr, i, this, deckType.structure);
        }

        mainCardScroll.GetComponent <ScrollRect>().verticalNormalizedPosition  = 1;
        strcCardScroll.GetComponent <ScrollRect>().verticalNormalizedPosition  = 1;
        decksMadeScroll.GetComponent <ScrollRect>().verticalNormalizedPosition = 1;
    }
示例#5
0
 public void Awake()
 {
     ui_ExtraDeck     = transform.FindChild("ExtraDeck").GetComponent <DeckUI>();
     ui_MainDeck      = transform.FindChild("MainDeck").GetComponent <DeckUI>();
     ui_GraveyardDeck = transform.FindChild("GraveyardDeck").GetComponent <DeckUI>();
     ui_RemoveDeck    = transform.FindChild("RemoveDeck").GetComponent <DeckUI>();
 }
示例#6
0
    public void Remove()
    {
        print("Remove");
        DeckUI cells = GameObject.Find("CellsGroup").GetComponent <DeckUI>();

        Deck.cards.Remove(current);
        cells.display();
    }
    void IDragHandler.OnDrag(PointerEventData eve)
    {
        Vector2 moveOffset = eve.position - prePos;

        DeckUI deckUI = DeckUI.GetInstance();

        item.GetComponent <RectTransform>().Translate(moveOffset);
        prePos = eve.position;
    }
示例#8
0
 public void selectDeck(string deck, DeckUI dui)
 {
     if (currentDeckUI)
     {
         currentDeckUI.deselect();
     }
     currentEditingDeck = deck;
     currentDeckUI      = dui;
 }
示例#9
0
    void Awake()
    {
        instance = this;

        // Debug
        deckData = DeckData.GetInstance();
        deckData.LoadData();

        slotCountX = deckData.characterCardList.Count - 1;

        if (slotCountX != 0)
        {
            // indexing initialization
            for (int i = 0; i <= slotCountX; i++)
            {
                currentCardList.Add(deckData.characterCardList[i]);
            }

            curInvenWidth = (slotCountX * slotSize) + (slotCountX * slotPadding) + slotPadding;

            for (int i = 1; i <= slotCountX; i++)
            {
                GameObject slotObj = Instantiate(OriginSlot) as GameObject;
                DeckSlot   slot    = slotObj.GetComponent <DeckSlot>();
                slot.InitializeDeckSlot(readonlyCardList[i]);

                RectTransform slotRect = slot.GetComponent <RectTransform>();
                slotRect = slot.GetComponent <RectTransform>();

                // get item component
                RectTransform item = slot.GetItemGameObject().GetComponent <RectTransform>();
                slot.name             = "slot_" + i;
                slot.transform.parent = cardPanel.transform;

                slotRect.localPosition = new Vector3((slotSize * (i - 1)) + (slotPadding * i), 0, 0);

                slotRect.localScale = Vector3.one;
                slotRect.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 50);

                slotRect.offsetMin = new Vector2(slotRect.offsetMin.x, 0);
                slotRect.offsetMax = new Vector2(slotRect.offsetMax.x, 0);

                Image img = item.GetComponent <Image>();
                img.sprite = slot.card.ImageSprite;

                // code for test
                if (slot.card.Level == 1)
                {
                    img.color = Color.red;
                }
            }
        }
    }
示例#10
0
    public void Add()
    {
        DeckUI           cells   = GameObject.Find("CellsGroup").GetComponent <DeckUI>();
        List <CardAsset> results = Deck.cards.FindAll(s => s.Equals(current));

        if (results.Count <= 1)
        {
            Deck.cards.Add(current);
        }
        if (Deck.cards.Count > Deck.cardsNo)
        {
            Deck.cards.RemoveAt(0);
        }
        cells.display();
    }
示例#11
0
    public void leaveDeck()
    {
        if (SaveDeck(currentEditingDeck))
        {
            //create deck
            GameObject d   = Instantiate(deckPre, decksMadeList.transform);
            DeckUI     dui = d.GetComponent <DeckUI>();
            dui.assignName(currentEditingDeck, this);
        }

        resetDeckCounters();
        currentEditingDeck = "";
        if (currentDeckUI)
        {
            currentDeckUI.deselect();
        }
        swapMode(deckType.deck);
    }
示例#12
0
    void IEndDragHandler.OnEndDrag(PointerEventData eve)
    {
        if (dragType == "vertical")
        {
            DeckSettingUI selectedDeck;
            DeckUI        deckUI = DeckUI.GetInstance();

            if (selectedDeck = DeckSettingUI.SearchEnterMouseObject(eve.position))
            {
                selectedDeck.SetCardIndex(deckUI.readonlyCardList[selectedIndex]);
            }
            else
            {
                DeckSlot selectedSlot = DeckSlot.GetSlotByCard(deckUI.readonlyCardList[selectedIndex]);
                selectedSlot.SlotFree();
                selectedIndex = -1;
            }
            Destroy(currentSelectedItem.gameObject);
        }
        prePos   = Vector2.zero;
        dragType = "";
    }
示例#13
0
    public void SetCardIndex(Card inputCard)
    {
        DeckUI deckUI = DeckUI.GetInstance();

        if (card != null)
        {
            DeckSlot previousSlot = DeckSlot.GetSlotByCard(card);
            previousSlot.SlotFree();
        }
        DeckSlot selectedSlot = DeckSlot.GetSlotByCard(inputCard);

        selectedSlot.SlotSelect();

        card = inputCard;
        // Image Component Copy
        Image copyImage = DeckSlot.GetSlotByCard(inputCard).GetItemGameObject().GetComponent <Image>();

        Util.CopyImage(copyImage, item);

        // regist -> Controller
        dc.SetDeckData(card, 0, deckColIdx);
    }
示例#14
0
        protected override IEnumerator Load()
        {
            RuntimeData.currentKeywordContext = KeywordContext.DeckBuilding;
            float             start  = Time.get_realtimeSinceStartup();
            UILoader <DeckUI> loader = new UILoader <DeckUI>(this, "DeckUI", "core/scenes/ui/deck", disableOnLoad: true);

            yield return(loader.Load());

            m_ui = loader.ui;
            m_ui.get_gameObject().SetActive(true);
            float num = Time.get_realtimeSinceStartup() - start;

            Log.Info($"Scene load duration : {num}", 84, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\States\\PlayerUI\\DeckEditState.cs");
            DeckBuildingEventController deckBuildingEventController = new DeckBuildingEventController();

            deckBuildingEventController.OnCloseRequest             += OnExit;
            deckBuildingEventController.OnSaveRequest              += OnSave;
            deckBuildingEventController.OnCancelRequest            += OnCancel;
            deckBuildingEventController.OnDeleteRequest            += OnRemoveRequest;
            deckBuildingEventController.OnDeckSlotSelectionChanged += OnSelectionChanged;
            deckBuildingEventController.OnCloneRequest             += OnCloneRequest;
            m_ui.eventController = deckBuildingEventController;
        }
示例#15
0
    public void SynchronizeDeckData()
    {
        DeckData deckData = DeckData.GetInstance();
        int      cardIdx  = deckData.deck[0, deckColIdx];

        if (cardIdx <= 0)
        {
            return;
        }
        Card c = deckData.characterCardList[cardIdx];

        card = c;

        DeckUI deckUI = DeckUI.GetInstance();

        DeckSlot selectedSlot = DeckSlot.GetSlotByCard(card);

        selectedSlot.SlotSelect();

        // Image Component Copy
        Image copyImage = DeckSlot.GetSlotByCard(card).GetItemGameObject().GetComponent <Image>();

        Util.CopyImage(copyImage, item);
    }
示例#16
0
 public void AddCardToDeck(DeckUI card)
 {
     _deck.Add(card);
 }
示例#17
0
 private void Buffered(DeckUI deckUI)
 {
     buffer.Push(deckUI);
 }
示例#18
0
    void IDragHandler.OnDrag(PointerEventData eve)
    {
        Vector2 moveOffset = eve.position - prePos;

        if (dragType == "horizon")
        {
            cardPanel.Translate(Vector2.right * moveOffset.x, 0);
            prePos = eve.position;
        }
        else if (dragType == "vertical")
        {
            DeckUI deckUI = DeckUI.GetInstance();
            currentSelectedItem.GetComponent <RectTransform>().Translate(moveOffset);
            prePos = eve.position;
        }

        if (dragType == "" && Vector2.Distance(eve.position, prePos) > 1.0f)
        {
            if (Math.Abs(moveOffset.x) > Math.Abs(moveOffset.y))
            {
                dragType = "horizon";
            }
            else
            {
                // drage vertical
                DeckUI deckUI  = DeckUI.GetInstance();
                Camera _camera = Camera.main;

                float screenWidth = _camera.pixelWidth;

                if (eve.position.x < 20 || eve.position.x > screenWidth - 20)
                {
                    return;
                }

                // n <= ( mouse position - k - widthPad ) / slotSize + 1
                if (selectedIndex <= 0 || selectedIndex > deckData.characterCardList.Count - 1)
                {
                    return;
                }

                if (DeckSlot.GetSlotByCard(deckUI.readonlyCardList[selectedIndex]).slotSelected == true)
                {
                    return;
                }

                //select marking
                DeckSlot selectedSlot = DeckSlot.GetSlotByCard(deckUI.readonlyCardList[selectedIndex]);
                selectedSlot.SlotSelect();

                //Selected Screen correction
                /* slotSize(n-1) + k + 20 -> StartPoint */
                if (deckUI.slotSize * (selectedIndex - 1) + cardPanel.position.x < deckUI.horizonPad)
                {
                    cardPanel.localPosition = new Vector2(0 - (50 * (selectedIndex - 1)) + deckUI.horizonPad, cardPanel.localPosition.y);
                }
                if (deckUI.slotSize * (selectedIndex - 1) + cardPanel.position.x + deckUI.slotSize > screenWidth - deckUI.horizonPad)
                {
                    cardPanel.Translate(-1 * Vector2.right * (deckUI.slotSize * selectedIndex + cardPanel.position.x - screenWidth + deckUI.horizonPad));
                }

                currentSelectedItem = deckUI.GetSelectedItem(selectedIndex);
                dragType            = "vertical";
            }
        }
    }