Пример #1
0
 public override void LoadMenu()
 {
     Cursor.visible = false;
     InventoryButton.EnableItemSpawning();
     CraftingButtonContainer.gameObject.SetActive(true);
     this.SendLoadingMenuEvent();
 }
Пример #2
0
 public override void CloseMenu()
 {
     Cursor.visible = true;
     InventoryButton.DisableItemSpawning();
     CraftingButtonContainer.gameObject.SetActive(false);
     this.SendClosingMenuEvent();
 }
Пример #3
0
 void GenerateButtons()//create a button for each item, give it the same name, make the button link to the item
 {
     foreach (GameObject g in availableItems)
     {
         GameObject      buttonOB        = Instantiate(itemButton, gridLayoutGroup.gameObject.transform);
         InventoryButton inventoryButton = buttonOB.GetComponent <InventoryButton>();
         inventoryButton.LinkedItem = g;
         inventoryButton.Text.GetComponent <Text>().text = "" + g.name;
     }
 }
Пример #4
0
    private void AddItemToInventory(GameObject item, InventoryButton.ItemType type, int pos)
    {
        Button          tempB = Instantiate(inventoryButton, inventoryPanel.transform);
        InventoryButton inv   = tempB.GetComponent <InventoryButton>();

        inv.type    = type;
        inv.itemIdx = pos;

        tempB.onClick.AddListener(() => inv.ActivateButton());
        tempB.transform.Find("Image").GetComponent <Image>().sprite = item.GetComponent <SpriteRenderer>().sprite;
    }
Пример #5
0
    private void OnTriggerStay2D(Collider2D collision)
    {
        InventoryButton axe = isAxeSelected();

        if (collision.CompareTag("Player") && axe != null && Input.GetKey(KeyCode.Space))
        {
            Destroy(gameObject);
            axe.GetComponent <AudioSource>().Play();
            GameObject item = Instantiate(dropItem, transform.position, Quaternion.identity);
            item.transform.SetParent(GameObject.FindGameObjectWithTag(Events.RequestSceneName()).transform);
        }
    }
Пример #6
0
    private void SpawnButtonForItemListing(ItemListing i)
    {
        if (inventoryButtons == null)
        {
            inventoryButtons = new List <InventoryButton>();
        }

        InventoryButton inventoryButton = SpawnInventoryButtonFromPrefab();

        inventoryButton.SetFromItemListing(i);

        inventoryButtons.Add(inventoryButton);
    }
Пример #7
0
        public async Task LoadAsync(IGame game)
        {
            _game = game;
            _game.Events.OnSavedGameLoad.Subscribe(onSaveGameLoaded);
            IGameFactory factory = game.Factory;

            _player = game.State.Player;
            _panel  = await factory.UI.GetPanelAsync("Toolbar", "Gui/DialogBox/toolbar.bmp", 0f, 180f);

            _panel.Visible = false;

            await loadButton("Walk Button", factory, "walk/", 0f, RotatingCursorScheme.WALK_MODE);
            await loadButton("Interact Button", factory, "hand/", 20f, RotatingCursorScheme.INTERACT_MODE);
            await loadButton("Look Button", factory, "eye/", 40f, RotatingCursorScheme.LOOK_MODE);
            await loadButton("Talk Button", factory, "talk/", 60f, MouseCursors.TALK_MODE);

            InventoryButton = await loadButton("Inventory Button", factory, "inventory/", 80f);

            IButton activeInvButton = await loadButton("Active Inventory Button", factory, "activeInventory/", 100f, RotatingCursorScheme.INVENTORY_MODE);

            activeInvButton.Z = 1f;
            IButton helpButton = await loadButton("Help Button", factory, "help/", 280f);

            IButton optionsButton = await loadButton("Settings Button", factory, "settings/", 300f);

            InventoryButton.OnMouseClick(() => _invPanel.Show(), _game);
            optionsButton.OnMouseClick(() => _optionsPanel.Show(), _game);
            helpButton.OnMouseClick(() => _featuresPanel.Show(), _game);

            game.Events.OnRepeatedlyExecute.Subscribe(onRepeatedlyExecute);
            _inventoryItemIcon          = factory.Object.GetObject("Inventory Item Icon");
            _inventoryItemIcon.Position = (10f, 10f);
            _inventoryItemIcon.Pivot    = (0f, 0f);
            _inventoryItemIcon.TreeNode.SetParent(activeInvButton.TreeNode);
            _inventoryItemIcon.RenderLayer       = _panel.RenderLayer;
            _inventoryItemIcon.Enabled           = false;
            _inventoryItemIcon.IgnoreScalingArea = true;
            _inventoryItemIcon.IgnoreViewport    = true;
            game.State.UI.Add(_inventoryItemIcon);

            ILabel label = game.Factory.UI.GetLabel("Hotspot Label", "", 150f, 20f, 200f, 0f, _panel, new AGSTextConfig(brush: AGSGame.Device.BrushLoader.LoadSolidBrush(Colors.LightGreen),
                                                                                                                        alignment: Alignment.MiddleCenter, autoFit: AutoFit.TextShouldFitLabel, paddingBottom: 5f,
                                                                                                                        font: game.Factory.Fonts.LoadFont(game.Settings.Defaults.TextFont.FontFamily, 10f)));

            label.Pivot = (0.5f, 0f);
            VerbOnHotspotLabel hotspotLabel = new VerbOnHotspotLabel(() => _scheme.CurrentMode, game, label);

            hotspotLabel.Start();

            TopPanel = _panel;
        }
Пример #8
0
    public void AddButton(ItemData data)
    {
        GameObject      newButton = Instantiate(buttonPrefab) as GameObject;
        InventoryButton newItem   = newButton.GetComponent <InventoryButton>();

        newItem.itemData = data;
        if (data.Name != "" && data.Name != null)
        {
            newItem.Text.text = data.Name;
        }
        buttons.Add(newItem);
        //hook up button to content panel
        newButton.transform.SetParent(scrollRect.content.transform);
    }
Пример #9
0
    public void OnMove()
    {
        if (SelectedButton == null)
        {
            return;
        }

        if (Global.GameManager.Player.Movement.MovementPattern == SelectedButton.Pattern)
        {
            SelectedButton.CurrentCharges--;
            SelectedButton = null;
            Global.GameManager.Player.Movement.MovementPattern = BasePattern;
        }
    }
Пример #10
0
    protected override void OnInitializedButton(int slot, InventoryButton button)
    {
        button.GetComponentInChildren <DraggableButton>().OnDrop.AddListener((ev) =>
        {
            DraggableButton dragged      = ev.pointerDrag.GetComponent <DraggableButton>();
            InventoryButton sourceButton = dragged.GetComponentInParent <InventoryButton>();

            Connection.Instance.SendData(new ItemActionPacket(new ItemActionData()
            {
                sourceSlot      = sourceButton.Slot,
                targetSlot      = slot,
                action          = ItemAction.MOVE,
                sourceContainer = sourceButton.ContainerId,
                targetContainer = button.ContainerId
            }));
        });
    }
Пример #11
0
        private void InventoryClickClick(InventoryButton sender, string tag)
        {
            foreach (var item in spInventories.Children)
            {
                (item as InventoryButton).InventoryCheked = false;
            }

            foreach (var item in Inventories)
            {
                if (item.Name == tag)
                {
                    searchAppid            = item.AppID;
                    searchAppcontext       = item.AppContext;
                    sender.InventoryCheked = true;
                }
            }
        }
Пример #12
0
    private void OnTriggerStay2D(Collider2D collision)
    {
        InventoryButton pickaxe = isPickaxeSelected();

        if (cooldown < Time.time && collision.CompareTag("Player") && pickaxe != null && Input.GetKey(KeyCode.Space))
        {
            Destroy(gameObject);
            pickaxe.GetComponent <AudioSource>().Play();
            switch (currentSize)
            {
            case 1:
                GameObject rock2 = Instantiate(Rock2, new Vector3(transform.position.x, transform.position.y, transform.position.z), Quaternion.identity);
                rock2.transform.SetParent(GameObject.FindGameObjectWithTag(Events.RequestSceneName()).transform);
                GameObject smallRock11 = Instantiate(SmallRock, new Vector3(transform.position.x - 0.8f, transform.position.y + 0.8f, transform.position.z), Quaternion.identity);
                smallRock11.transform.SetParent(GameObject.FindGameObjectWithTag(Events.RequestSceneName()).transform);
                GameObject smallRock12 = Instantiate(SmallRock, new Vector3(transform.position.x + 0.8f, transform.position.y + 1f, transform.position.z), Quaternion.identity);
                smallRock12.transform.SetParent(GameObject.FindGameObjectWithTag(Events.RequestSceneName()).transform);
                GameObject smallRock13 = Instantiate(SmallRock, new Vector3(transform.position.x + 1.2f, transform.position.y - 0.8f, transform.position.z), Quaternion.identity);
                smallRock13.transform.SetParent(GameObject.FindGameObjectWithTag(Events.RequestSceneName()).transform);
                GameObject smallRock14 = Instantiate(SmallRock, new Vector3(transform.position.x - 1.2f, transform.position.y - 0.8f, transform.position.z), Quaternion.identity);
                smallRock14.transform.SetParent(GameObject.FindGameObjectWithTag(Events.RequestSceneName()).transform);
                break;

            case 2:
                GameObject rock3 = Instantiate(Rock3, new Vector3(transform.position.x, transform.position.y, transform.position.z), Quaternion.identity);
                rock3.transform.SetParent(GameObject.FindGameObjectWithTag(Events.RequestSceneName()).transform);
                GameObject smallRock21 = Instantiate(SmallRock, new Vector3(transform.position.x - 0.6f, transform.position.y + 0.5f, transform.position.z), Quaternion.identity);
                smallRock21.transform.SetParent(GameObject.FindGameObjectWithTag(Events.RequestSceneName()).transform);
                GameObject smallRock22 = Instantiate(SmallRock, new Vector3(transform.position.x + 0.7f, transform.position.y - 0.5f, transform.position.z), Quaternion.identity);
                smallRock22.transform.SetParent(GameObject.FindGameObjectWithTag(Events.RequestSceneName()).transform);
                GameObject smallRock23 = Instantiate(SmallRock, new Vector3(transform.position.x - 0.7f, transform.position.y - 0.5f, transform.position.z), Quaternion.identity);
                smallRock23.transform.SetParent(GameObject.FindGameObjectWithTag(Events.RequestSceneName()).transform);
                break;

            case 3:
                GameObject smallRock31 = Instantiate(SmallRock, new Vector3(transform.position.x, transform.position.y + 0.7f, transform.position.z), Quaternion.identity);
                smallRock31.transform.SetParent(GameObject.FindGameObjectWithTag(Events.RequestSceneName()).transform);
                GameObject smallRock32 = Instantiate(SmallRock, new Vector3(transform.position.x + 0.5f, transform.position.y - 0.5f, transform.position.z), Quaternion.identity);
                smallRock32.transform.SetParent(GameObject.FindGameObjectWithTag(Events.RequestSceneName()).transform);
                GameObject smallRock33 = Instantiate(SmallRock, new Vector3(transform.position.x - 0.5f, transform.position.y - 0.5f, transform.position.z), Quaternion.identity);
                smallRock33.transform.SetParent(GameObject.FindGameObjectWithTag(Events.RequestSceneName()).transform);
                break;
            }
        }
    }
Пример #13
0
    public void Remove(InteractiveObject io)
    {
        InventoryButton mybutton = null;

        InventoryButton[] allInventoryButtons = container.GetComponentsInChildren <InventoryButton>();
        foreach (InventoryButton button in allInventoryButtons)
        {
            if (button.io == io)
            {
                mybutton = button;
            }
        }

        if (mybutton != null)
        {
            Destroy(mybutton.gameObject);
        }
    }
 public void InitMenu()
 {
     invCtl  = GameController.GetInstance().GetInvCtl();
     buttons = new List <InventoryButton>();
     panel   = transform.GetChild(0).gameObject;
     for (int i = 0; i < 3; i++)
     {
         Transform colPanel = transform.GetChild(0).GetChild(i);
         for (int j = 0; j < 6; j++)
         {
             GameObject      buttonObj = colPanel.GetChild(j).gameObject;
             InventoryButton button    = buttonObj.GetComponent <InventoryButton>();
             int             index     = (6 * i) + j;
             buttons.Add(button);
             button.InitButton(index);
         }
     }
     UpdateMenu();
 }
Пример #15
0
    public void updateUI(int itemsToShow, string type, List <string> objName)
    {
        if (currType != type || currType == type)
        {
            int childs = inventoryPanel.transform.childCount;
            for (int i = 0; i < childs; i++)
            {
                Destroy(inventoryPanel.transform.GetChild(i).gameObject);
                currType = "";
            }
        }

        currType = type;
        Vector2 screenPos = new Vector2(buttonOffset.x, -buttonOffset.y);

        for (int i = 0; i < itemsToShow; i++)
        {
            GameObject      btn       = ButtonFactory.createButton(objName[i], new Vector2(buttonSize, buttonSize), null, screenPos, false);
            RectTransform   btnRect   = btn.GetComponent <RectTransform>();
            Button          btnButton = btn.GetComponent <Button>();
            InventoryButton invButton = btn.AddComponent <InventoryButton>();

            btnRect.SetParent(inventoryPanel.transform);

            btnRect.pivot            = new Vector2(0, 1);
            btnRect.anchorMin        = new Vector2(0, 1);
            btnRect.anchorMax        = new Vector2(0, 1);
            btnRect.localScale       = new Vector3(1, 1, 1);
            btnRect.anchoredPosition = screenPos;

            if (btnRect.anchoredPosition.x >= invPanelRectTransform.rect.width)
            {
                screenPos = new Vector2(buttonOffset.x, btnRect.anchoredPosition.y - btnRect.sizeDelta.y - buttonOffset.y);
                btnRect.anchoredPosition = screenPos;
            }
            screenPos += new Vector2(btnRect.sizeDelta.x + buttonOffset.x, 0);

            invButton.GetObjName = objName[i];
            invButton.GetObjType = currType;
            inventoryPanel.GetComponent <RectTransform>().sizeDelta = new Vector2(0, -btnRect.anchoredPosition.y + btnRect.sizeDelta.y + buttonOffset.y);
        }
    }
Пример #16
0
    public void Select(InventoryButton Button)
    {
        if (SelectedButton == null)
        {
            BasePattern    = Global.GameManager.Player.Movement.MovementPattern;
            SelectedButton = Button;
            Global.GameManager.Player.Movement.MovementPattern = Button.Pattern;
        }
        else if (SelectedButton == Button)
        {
            SelectedButton = null;
            Global.GameManager.Player.Movement.MovementPattern = BasePattern;
        }
        else
        {
            SelectedButton = Button;
            Global.GameManager.Player.Movement.MovementPattern = Button.Pattern;
        }

        Global.GameManager.Player.Movement.Refresh();
    }
Пример #17
0
    void AddItem(Item i)
    {
        if (buttons.ContainsKey(i.type))
        {
            buttons[i.type].SetCount(character.inventory.ItemCount(i.type));
        }
        else
        {
            InventoryButton new_button = Instantiate(prefab);
            new_button.transform.SetParent(parent_transform);

            new_button.SetItem(i);
            new_button.SetCount(1);

            button_list.Add(new_button);

            SelectButton(button_list.Count - 1);

            buttons.Add(i.type, new_button);
        }
    }
Пример #18
0
    public void addItem(Item item)
    {
        for (int i = 0; i < inventoryButtons.Count; i++)
        {
            GameObject      currentButton   = inventoryButtons[i];
            GameObject      childButton     = inventoryButtons[i].transform.GetChild(0).gameObject;
            InventoryButton inventoryButton = currentButton.GetComponent <InventoryButton>();

            if (inventoryButton.HasItem)
            {
                continue;
            }

            currentButton.name      = item.Name;
            childButton.name        = item.Name;
            inventoryButton.HasItem = true;
            inventoryButton.Item    = item;

            childButton.GetComponent <Image>().sprite = item.Sprite;
            return;
        }
    }
Пример #19
0
    void OnMouseOverInventory(PointerEventData data)
    {
        //Debug.Log(data.pointerCurrentRaycast.gameObject.transform.parent.GetComponent<InventoryButton>().item.FlavorText);
        InventoryButton but = data.pointerCurrentRaycast.gameObject.transform.parent.GetComponent <InventoryButton>();

        if (but.item.EquipmentSlot != EquipmentSlot.Null)
        {
            descriptionText.text = but.item.FlavorText;
            longNameText.text    = data.pointerCurrentRaycast.gameObject.transform.parent.GetComponent <InventoryButton>().item.LongName;
            //image.sprite = data.pointerCurrentRaycast.gameObject.transform.parent.GetComponent<InventoryButton>().item.Sprite;
            var sprite = user.LoadedAssetBundle.LoadAsset <Sprite>(data.pointerCurrentRaycast.gameObject.transform.parent.GetComponent <InventoryButton>().item.SpriteName);
            image.sprite = sprite;
            image.color  = new Color(1, 1, 1, 1);
            statsShown   = true;
            Item item     = data.pointerCurrentRaycast.gameObject.transform.parent.GetComponent <InventoryButton>().item;
            Text tooltext = statsBlock.GetComponentInChildren <Text>();
            tooltext.text = "";
            foreach (Stat stat in item.Stats)
            {
                string value = Stat.GetStatString(stat);
                tooltext.text += stat.Name + ": " + value + "\n";
            }
        }
    }
Пример #20
0
        private async void PageLoaded(object sender, RoutedEventArgs e)
        {
            App.MAIN_WINDOW.ShowAnimGrid(true, "loading inventories of user...");

            if (await GetUserInformation())
            {
                tbUserName.Text = Player.personaname;
                imgAva.Source   = new BitmapImage(new Uri(Player.avatarmedium));
                App.MAIN_WINDOW.SetupTitle(tbUserName.Text);
                tbOnline.Visibility  = Player.personastate > 0 ? Visibility.Visible : Visibility.Collapsed;
                tbOffline.Visibility = tbOnline.Visibility == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible;

                Inventories = JsonConvert.DeserializeObject <List <InventoryObject> >(File.ReadAllText(App.INVENTORIES));

                int hiden = 0;

                foreach (var item in Inventories)
                {
                    int c = await GetInventoryItemsCount(item.AppID, item.AppContext);

                    if (c == -1)
                    {
                        hiden++;
                    }
                    else if (App.MAIN_WINDOW.ShowEmptyInventories || c > 0)
                    {
                        InventoryButton ib = new InventoryButton()
                        {
                            InventoryName  = item.Name,
                            InventoryIcon  = $"{Directory.GetCurrentDirectory()}/{item.IconPath}",
                            InventoryCount = c
                        };
                        ib.Click += InventoryClickClick;

                        if (spInventories.Children.Count == 0)
                        {
                            searchAppid        = item.AppID;
                            searchAppcontext   = item.AppContext;
                            ib.InventoryCheked = true;
                        }
                        else
                        {
                            ib.Margin          = new Thickness(20, 0, 0, 0);
                            ib.InventoryCheked = false;
                        }

                        spInventories.Children.Add(ib);
                    }
                }

                if (hiden == Inventories.Count)
                {
                    (new MessageWindow("Information", "Possible user profile is hidden or inventory is hidden.", Core.MessageWindowIcon.Error, Core.MessageWindowIconColor.Red)).ShowDialog();
                }

                App.MAIN_WINDOW.ShowAnimGrid(false, string.Empty);
            }
            else
            {
                ;//error
            }
        }
Пример #21
0
    public void OnSlotClick(InventoryButton slot)
    {
        int index = slots.IndexOf(slot);

        Player.UseItem(index);
    }
Пример #22
0
 public void AddBag(Bag bag, InventoryButton inventoryButton)
 {
     bags.Add(bag);
     inventoryButton.MyBag = bag;
     bag.MyBagScript.transform.SetSiblingIndex(inventoryButton.MyBagIndex);
 }
Пример #23
0
    private void Update()
    {
        Debug.Log(storedButtons.Length);
        for (int i = 0; i < storedButtons.Length; i++)
        {
            InventoryButton inventoryButtonScript = storedButtons[i].GetComponent <InventoryButton>();
            Image           buttonImage           = storedButtons[i].transform.GetChild(1).GetComponent <Image>();
            Debug.Log(user.Items.Count);
            if (user.Items.Count > i)
            {
                Item   go   = user.Items[i];
                string name = go.Name;
                //Debug.Log(user.Items[i].Name);
                // Debug.Log(go.Name);
                if (name.Length > strLength)
                {
                    name = name.Substring(0, strLength) + "...";
                }
                inventoryButtonScript.item = go;
                //Debug.Log("[InventoryUI.Update] user = "******"[InventoryUI.Update] user.LoadedAssetBundle = " + user.LoadedAssetBundle);
                //Debug.Log("[InventoryUI.Update] inventoryButtonScript = " + inventoryButtonScript);
                //Debug.Log("[InventoryUI.Update] inventoryButtonScript.item = " + inventoryButtonScript.item);
                var sprite = user.LoadedAssetBundle.LoadAsset <Sprite>(inventoryButtonScript.item.SpriteName);
                buttonImage.sprite = sprite;
                buttonImage.color  = new Color(1, 1, 1, 1);
            }
            else
            {
                Text textfield = storedButtons[i].GetComponentInChildren <Text>();
                textfield.text             = "";
                textfield.color            = Color.black;
                inventoryButtonScript.item = Item.Null;
                buttonImage.sprite         = null;
                buttonImage.color          = new Color(0.13333333333333333333333333333f, 0.12549019607f, 0.12549019607f, 1.0f);
            }
        }
        for (int i = 0; i < 6; i++)
        {
            EquipmentSlot[] slots = { EquipmentSlot.Ring, EquipmentSlot.Amulet, EquipmentSlot.Offhand, EquipmentSlot.Weapon, EquipmentSlot.Body, EquipmentSlot.Head };
            Item            go    = euser.Equipment[slots[i]];
            EquipmentButton equipmentButtonScript = equipmentButtons[i].GetComponent <EquipmentButton>();
            Image           equipmentButtonImage  = equipmentButtons[i].transform.GetChild(0).GetComponent <Image>();

            if (go.EquipmentSlot != EquipmentSlot.Null)
            {
                equipmentButtonScript.item = go;
                string name = go.Name;
                if (name.Length > strLength)
                {
                    name = name.Substring(0, strLength) + "...";
                }
                var sprite = user.LoadedAssetBundle.LoadAsset <Sprite>(equipmentButtonScript.item.SpriteName);
                equipmentButtonImage.sprite = sprite;
                equipmentButtonImage.color  = new Color(1, 1, 1, 1);
            }
            else
            {
                equipmentButtonImage.sprite = null;
                equipmentButtonImage.color  = baseColor;
            }
        }
        if (statsShown)
        {
            statsBlock.transform.localPosition = Vector3.MoveTowards(statsBlock.transform.localPosition, visibleLoc, 900 * Time.deltaTime);
        }
        else
        {
            statsBlock.transform.localPosition = Vector3.MoveTowards(statsBlock.transform.localPosition, hiddenLoc, 900 * Time.deltaTime);
        }
    }
Пример #24
0
    //인벤토리 추가 정렬 방식이다
    //1 순위는 장착된 장비이며
    //2 순위는 등급이 높은것
    //3 순위는 강화가 높은순으로 정렬할 예정이다.
    //추후 수정 예정
    private void AddButtons()
    {
        //장착된것을 정렬
        for (int nIndex = 0; nIndex < itemList.Count; nIndex++)
        {
            if (itemList[nIndex].bIsEquip == true)
            {
                if (nIndex != 0)
                {
                    CGameEquiment temp = itemList[nIndex];

                    itemList[nIndex] = itemList[0];

                    itemList[0] = temp;
                }

                break;
            }
        }

        //강화가 높은것을 정렬
        itemList.Sort(delegate(CGameEquiment A, CGameEquiment B)
        {
            if (itemList[0] == A || itemList[0] == B)
            {
                if (itemList[0].bIsEquip == true)
                {
                    return(-1);
                }
            }

            if (A.nStrenthCount == B.nStrenthCount)
            {
                return(0);
            }
            else if (A.nStrenthCount < B.nStrenthCount)
            {
                return(1);
            }
            else
            {
                return(-1);
            }
        });

        //높은것을 정렬retur
        itemList.Sort(delegate(CGameEquiment A, CGameEquiment B)
        {
            if (itemList[0] == A || itemList[0] == B)
            {
                if (itemList[0].bIsEquip == true)
                {
                    return(-1);
                }
            }

            if (A.nStrenthCount != B.nStrenthCount)
            {
                return(-1);
            }

            else if (A.nIndex > B.nIndex && A.nStrenthCount == B.nStrenthCount)
            {
                return(0);
            }
            else if (A.nIndex < B.nIndex && A.nStrenthCount == B.nStrenthCount)
            {
                return(1);
            }

            else
            {
                return(0);
            }
        });


        for (int i = 0; i < nMaxItemList; i++)
        {
            if (i < itemList.Count)
            {
                CGameEquiment item = itemList[i];

                GameObject newButton = buttonObjectPool.GetObject();
                newButton.transform.SetParent(contentPanel, false);
                newButton.transform.localScale = Vector3.one;

                InventoryButton sampleButton = newButton.GetComponent <InventoryButton>();
                sampleButton.Setup(item, inventoryPanel);
            }
            else
            {
                GameObject newButton = buttonObjectPool.GetObject();
                newButton.transform.SetParent(contentPanel, false);
                newButton.transform.localScale = Vector3.one;

                InventoryButton sampleButton = newButton.GetComponent <InventoryButton>();
                sampleButton.SetInit();
            }
        }
    }
Пример #25
0
    //인벤토리 추가 정렬 방식이다
    //1 순위는 장착된 장비이며
    //2 순위는 등급이 높은것
    //3 순위는 강화가 높은순으로 정렬할 예정이다.
    //추후 수정 예정
    private void AddButtons()
    {
        //장착된것을 정렬
        for (int nIndex = 0; nIndex < itemList.Count; nIndex++)
        {
            if (itemList[nIndex].bIsEquip == true)
            {
                if (nIndex != 0)
                {
                    CGameEquiment temp = itemList[nIndex];

                    itemList[nIndex] = itemList[0];

                    itemList[0] = temp;
                }

                break;
            }
        }

        /*
         * //등급이 높은 것을 정렬
         * itemList.Sort(delegate(CGameEquiment A, CGameEquiment B)
         * {
         *      if (A.sGrade < B.sGrade) return 1;
         *              else if (A.sGrade > B.sGrade) return -1;
         * else return 0;
         * });
         *
         * //강화가 높은것을 정렬
         * itemList.Sort(delegate(CGameEquiment A, CGameEquiment B)
         * {
         *              if (A.sGrade == B.sGrade && A.nStrenthCount < B.nStrenthCount) return 1;
         *              else if (A.sGrade != B.sGrade || A.nStrenthCount > B.nStrenthCount) return -1;
         * else return 0;
         * });
         */

        for (int i = 0; i < nMaxItemList; i++)
        {
            if (i < itemList.Count)
            {
                CGameEquiment item = itemList[i];

                GameObject newButton = buttonObjectPool.GetObject();
                newButton.transform.SetParent(contentPanel, false);
                newButton.transform.localScale = Vector3.one;

                InventoryButton sampleButton = newButton.GetComponent <InventoryButton>();
                sampleButton.Setup(item, inventoryPanel);
            }
            else
            {
                GameObject newButton = buttonObjectPool.GetObject();
                newButton.transform.SetParent(contentPanel, false);
                newButton.transform.localScale = Vector3.one;

                InventoryButton sampleButton = newButton.GetComponent <InventoryButton>();
                sampleButton.SetInit();
            }
        }
    }
Пример #26
0
    private void Start()
    {
        for (int i = 0; i < transform.childCount; i++)
        {
            if (transform.GetChild(i).name.Equals("Stored"))
            {
                stored        = gameObject.transform.GetChild(i).gameObject;
                storedButtons = stored.GetComponentsInChildren <Button>();
            }
            else if (transform.GetChild(i).name.Equals("Equipment"))
            {
                equipment        = gameObject.transform.GetChild(i).gameObject;
                equipmentButtons = equipment.GetComponentsInChildren <Button>();
            }
            else if (transform.GetChild(i).name.Equals("StatsBlock"))
            {
                statsBlock = gameObject.transform.GetChild(i).gameObject;
                for (int j = 0; j < statsBlock.transform.childCount; j++)
                {
                    if (statsBlock.transform.GetChild(j).name.Equals("DescText"))
                    {
                        descriptionText = statsBlock.transform.GetChild(j).gameObject.GetComponent <Text>();
                    }
                    else if (statsBlock.transform.GetChild(j).name.Equals("SpriteImage"))
                    {
                        image = statsBlock.transform.GetChild(j).gameObject.GetComponent <Image>();
                    }
                    else if (statsBlock.transform.GetChild(j).name.Equals("LongName"))
                    {
                        longNameText = statsBlock.transform.GetChild(j).gameObject.GetComponent <Text>();
                    }
                }
            }
        }
        for (int i = 0; i < 6; i++)
        {
            EventTrigger       ev    = equipmentButtons[i].GetComponent <EventTrigger>();
            EventTrigger.Entry entry = new EventTrigger.Entry();
            entry.eventID = EventTriggerType.PointerClick;
            entry.callback.AddListener((eventData) => { OnClickEquipment(eventData); });
            ev.triggers.Add(entry);

            EventTrigger.Entry entry2 = new EventTrigger.Entry();
            entry2.eventID = EventTriggerType.PointerEnter;
            entry2.callback.AddListener((eventData) => { OnMouseOverEquipment((PointerEventData)eventData); });
            ev.triggers.Add(entry2);

            EventTrigger.Entry entry3 = new EventTrigger.Entry();
            entry3.eventID = EventTriggerType.PointerExit;
            entry3.callback.AddListener((eventData) => { OnMouseExitEquipment((PointerEventData)eventData); });
            ev.triggers.Add(entry3);

            EquipmentButton equipmentButtonScript = equipmentButtons[i].GetComponent <EquipmentButton>();
            equipmentButtonScript.position = i;
        }
        for (int i = 0; i < storedButtons.Length; i++)
        {
            EventTrigger       ev    = storedButtons[i].GetComponent <EventTrigger>();
            EventTrigger.Entry entry = new EventTrigger.Entry();
            entry.eventID = EventTriggerType.PointerClick;
            entry.callback.AddListener((eventData) => { OnClickInventory((PointerEventData)eventData); });
            ev.triggers.Add(entry);

            EventTrigger.Entry entry2 = new EventTrigger.Entry();
            entry2.eventID = EventTriggerType.PointerEnter;
            entry2.callback.AddListener((eventData) => { OnMouseOverInventory((PointerEventData)eventData); });
            ev.triggers.Add(entry2);

            InventoryButton inventoryButtonScript = storedButtons[i].GetComponent <InventoryButton>();
            inventoryButtonScript.position = i;

            EventTrigger.Entry entry3 = new EventTrigger.Entry();
            entry3.eventID = EventTriggerType.PointerExit;
            entry3.callback.AddListener((eventData) => { OnMouseExitInventory((PointerEventData)eventData); });
            ev.triggers.Add(entry3);
        }


        //   image = gameObject.transform.GetChild(4).gameObject.GetComponent<Image>();
    }
Пример #27
0
    public void Add(InteractiveObject io)
    {
        InventoryButton newButton = Instantiate(button, container);

        newButton.Init(io);
    }