public void OnClickMySelf()
        {
            if (id == 2)
            {
                if (mTipsText == null)
                {
                    mTips.SetActive(false);
                    UI_StageInfo._instance.Tips.SetActive(false);
                }
                else
                {
                    mTips.SetActive(true);
                    UI_StageInfo._instance.Tips.SetActive(true);
                    UI_StageInfo._instance.TipsDes.text = GameUtils.getString(mTipsText);
                }
            }
            else
            {
                switch (typeNum)
                {
                //符文
                case 1:

                    ItemTemplate rune = (ItemTemplate)DataTemplate.GetInstance().m_ItemTable.getTableData(id);
                    UI_RuneInfo.SetShowRuneDate(rune);
                    UI_HomeControler.Inst.AddUI("UI_Rune/UI_RuneInfo_1_3");
                    break;

                //道具
                case 2:
                    ItemTemplate item = (ItemTemplate)DataTemplate.GetInstance().m_ItemTable.getTableData(id);
                    UI_Item.SetItemTemplate(item);
                    UI_HomeControler.Inst.AddUI("UI_Home/UI_Item_1_3");


                    break;

                //英雄
                case 3:
                    UI_HomeControler.Inst.AddUI("UI_Home/UI_HeroInfoPop_1_3");
                    ObjectCard   obj   = new ObjectCard();
                    Hero         hero  = new Hero();
                    HeroTemplate _hero = (HeroTemplate)DataTemplate.GetInstance().m_HeroTable.getTableData(id);
                    hero.skill1     = _hero.getSkill1ID();
                    hero.skill2     = _hero.getSkill2ID();
                    hero.skill3     = _hero.getSkill3ID();
                    hero.heroid     = id;
                    hero.herolevel  = 1;
                    hero.heroviewid = _hero.getArtresources();
                    obj.GetHeroData().Init(hero);
                    //Destroy(UI_SelectFightArea.Inst.Card3Dmodel);
                    HeroInfoPop.inst.Show3DModel(obj);
                    HeroInfoPop.inst.ShowInfo(obj);
                    break;

                default:
                    break;
                }
            }
        }
Example #2
0
    public bool RemoveItem(UI_Item Item)
    {
        return(false);

        /*bool Valid = false;
         * UI_Slot Slot;
         * for (int y = 0; y < GridCells.GetLength (1); y++)
         * {
         *      for(int x = 0; x < GridCells.GetLength(0); x++)
         *      {
         *              Slot = GridCells [x, y].GetComponent<UI_Slot> ();
         *              if(GridCellData [GridCells [x, y].GetInstanceID ()] == Item.Id)
         *              {
         *                      GridCellData [GridCells [x, y].GetInstanceID ()] = 0;
         *                      Slot.SetVisibility (Visiblility.Visible);
         *              }
         *
         *              if(Slot.GetIcon() == Item.Icon)
         *              {
         *                      GridCellData [GridCells [x, y].GetInstanceID ()] = 0;
         *                      Slot.AdjustSize = true;
         *                      Slot.SetIcon (null);
         *                      Slot.SetScale (new Vector2 (1, 1));
         *                      Valid = true;
         *              }
         *      }
         * }
         *
         * return Valid;*/
    }
Example #3
0
    /// <summary>
    /// 根据id展示不同的物品展示界面;
    /// </summary>
    /// <param name="tableID"></param>
    public static bool ShowItemPreviewUIHandler(int tableID)
    {
        EM_OBJECT_CLASS eoc = GameUtils.GetObjectClassById(tableID);

        switch (eoc)
        {
        case EM_OBJECT_CLASS.EM_OBJECT_CLASS_RUNE:
            ItemTemplate runeItemT = DataTemplate.GetInstance().GetItemTemplateById(tableID);
            if (runeItemT == null)
            {
                LogManager.LogError("item表格中缺少物品id=" + tableID);
                return(false);
            }
            UI_RuneInfo.SetShowRuneDate(runeItemT);
            UI_HomeControler.Inst.AddUI(UI_RuneInfo.UI_ResPath);
            return(true);

        case EM_OBJECT_CLASS.EM_OBJECT_CLASS_COMMON:
            ItemTemplate itemT = DataTemplate.GetInstance().GetItemTemplateById(tableID);
            if (itemT == null)
            {
                LogManager.LogError("item表格中缺少物品id=" + tableID);
                return(false);
            }
            UI_Item.SetItemTemplate(itemT);
            UI_HomeControler.Inst.AddUI(UI_Item.UI_ResPath);
            return(true);

        case EM_OBJECT_CLASS.EM_OBJECT_CLASS_SKIN:
            ArtresourceTemplate artT = DataTemplate.GetInstance().GetArtResourceTemplate(tableID);
            if (artT == null)
            {
                LogManager.LogError("ArtResource时装表格中缺少物品id=" + tableID);
                return(false);
            }
            UI_SkinPreviewMgr.SetShowArtTemplate(artT);
            UI_HomeControler.Inst.AddUI(UI_SkinPreviewMgr.UI_ResPath);
            return(true);

        case EM_OBJECT_CLASS.EM_OBJECT_CLASS_HERO:
            HeroTemplate heroT = DataTemplate.GetInstance().GetHeroTemplateById(tableID);
            if (heroT == null)
            {
                LogManager.LogError("hero表格中缺少物品id=" + tableID);
                return(false);
            }
            UI_HomeControler.Inst.AddUI(HeroInfoPop.UI_ResPath);
            HeroInfoPop.inst.SetShowData(heroT);
            return(true);

        case EM_OBJECT_CLASS.EM_OBJECT_CLASS_RES:
            //资源类型点击无响应;
            return(true);

        default:
            LogManager.LogError("未处理的商城物品预览类型");
            return(false);
        }
    }
Example #4
0
    private void UpdateVisual()
    {
        foreach (Transform child in itemContainer)
        {
            Destroy(child.gameObject);
        }

        Item weaponItem = characterEquipment.GetWeaponItem();

        if (weaponItem != null)
        {
            Transform uiItemTransform = Instantiate(pfUI_Item, itemContainer);
            uiItemTransform.GetComponent <RectTransform>().anchoredPosition = weaponSlot.GetComponent <RectTransform>().anchoredPosition;
            uiItemTransform.localScale = Vector3.one * 1.5f;
            //uiItemTransform.GetComponent<CanvasGroup>().blocksRaycasts = false;
            UI_Item uiItem = uiItemTransform.GetComponent <UI_Item>();
            uiItem.SetItem(weaponItem);
            weaponSlot.transform.Find("emptyImage").gameObject.SetActive(false);
        }
        else
        {
            weaponSlot.transform.Find("emptyImage").gameObject.SetActive(true);
        }

        Item armorItem = characterEquipment.GetArmorItem();

        if (armorItem != null)
        {
            Transform uiItemTransform = Instantiate(pfUI_Item, itemContainer);
            uiItemTransform.GetComponent <RectTransform>().anchoredPosition = armorSlot.GetComponent <RectTransform>().anchoredPosition;
            uiItemTransform.localScale = Vector3.one * 1.5f;
            //uiItemTransform.GetComponent<CanvasGroup>().blocksRaycasts = false;
            UI_Item uiItem = uiItemTransform.GetComponent <UI_Item>();
            uiItem.SetItem(armorItem);
            armorSlot.transform.Find("emptyImage").gameObject.SetActive(false);
        }
        else
        {
            armorSlot.transform.Find("emptyImage").gameObject.SetActive(true);
        }

        Item helmetItem = characterEquipment.GetHelmetItem();

        if (helmetItem != null)
        {
            Transform uiItemTransform = Instantiate(pfUI_Item, itemContainer);
            uiItemTransform.GetComponent <RectTransform>().anchoredPosition = helmetSlot.GetComponent <RectTransform>().anchoredPosition;
            uiItemTransform.localScale = Vector3.one * 1.5f;
            //uiItemTransform.GetComponent<CanvasGroup>().blocksRaycasts = false;
            UI_Item uiItem = uiItemTransform.GetComponent <UI_Item>();
            uiItem.SetItem(helmetItem);
            helmetSlot.transform.Find("emptyImage").gameObject.SetActive(false);
        }
        else
        {
            helmetSlot.transform.Find("emptyImage").gameObject.SetActive(true);
        }
    }
Example #5
0
    public override void OnDrop(GameObject Slot)
    {
        if (Visible == Visiblility.Hidden)
        {
            return;
        }

        UI_InventorySlot InventoryComponent = Slot.GetComponent <UI_InventorySlot> ();

        if (Inventory && InventoryComponent)
        {
            UI_Item    Item        = (Remove == RemoveType.RemoveOnDrag) ? TempDrag : this.Item;
            Vector2Int NewPosition = ParentInventory.AddItem(Item, InventoryComponent.Position);
            if (NewPosition != UI_Inventory.InvalidIndex)
            {
                if (Remove == RemoveType.RemoveOnDrop && RemoveEvent)
                {
                    ParentInventory.RemoveItem(Position);
                }
            }
            else
            {
                if (Remove == RemoveType.RemoveOnDrag)
                {
                    ParentInventory.AddItem(Item, Position);
                }
            }
        }

        UI_EquipSlot EquipComponent = Slot.GetComponent <UI_EquipSlot>();

        if (EquipComponent && EquipComponent.Inventory)
        {
            UI_Item    Item  = (Remove == RemoveType.RemoveOnDrag) ? TempDrag : this.Item;
            Vector2Int NewId = EquipComponent.Inventory.AddItem(Item, Slot);
            if (NewId != UI_Inventory.InvalidIndex)
            {
                if (Remove == RemoveType.RemoveOnDrop && RemoveEvent)
                {
                    ParentInventory.RemoveItem(Position);
                }
            }
            else
            {
                if (Remove == RemoveType.RemoveOnDrag)
                {
                    ParentInventory.AddItem(Item, Position);
                }
            }

            print("Cast To Equip slot");
        }
    }
Example #6
0
    //Publicas:
    public bool ValidateItemFormat(UI_Item Item)
    {
        bool Validate = true;

        Validate &= Item.Size.x > 0;
        Validate &= Item.Size.y > 0;
        Validate &= Item.Icon != null;
        Validate &= Item.Id > int.MinValue;
        Validate &= Item.Id <= int.MaxValue;
        DebugLog("Item " + Validate + " Format.");
        return(Validate);
    }
Example #7
0
    // Use this for initialization
    void Start()
    {
        healthBar   = transform.Find("HealthPanel/HealthBarBack/HealthBar").GetComponent <RectTransform>();
        healthText  = transform.Find("HealthPanel/HealthBarBack/HealthText").GetComponent <Text>();
        scrapCount  = transform.Find("HealthPanel/MaterialsPanel/ScrapCount").GetComponent <Text>();
        energyCount = transform.Find("HealthPanel/MaterialsPanel/EnergyCount").GetComponent <Text>();
        wireCount   = transform.Find("HealthPanel/MaterialsPanel/WireCount").GetComponent <Text>();
        itemsPanel  = transform.Find("Items").GetComponent <RectTransform>();
        scoreText   = transform.Find("ScorePanel/Score").GetComponent <Text> ();
        ammoCount   = transform.Find("AmmoCount/AmmoText").GetComponent <Text> ();
        reloadMask  = transform.Find("AmmoCount/ReloadMask").GetComponent <RectTransform> ();

        craftingMenu     = transform.Find("CraftingManager").GetComponent <AssemblyCSharp.CraftingManager> ();
        craftingMenuOpen = false;

        alertDisplay = transform.Find("AlertDisplay").GetComponent <AlertPanel>();

        isReloading      = false;
        reloadMaskHeight = reloadMask.rect.height;

        // Find the references for each inventory item panel
        Transform hotbarParent    = transform.Find("Items/Hotbar");
        Transform inventoryParent = transform.Find("Items/Inventory");

        inventoryItems = new Transform[hotbarParent.childCount + inventoryParent.childCount];
        for (int i = 0; i < inventoryItems.Length; i++)
        {
            if (i < hotbarParent.childCount)
            {
                inventoryItems [i] = hotbarParent.GetChild(i);
            }
            else
            {
                inventoryItems [i] = inventoryParent.GetChild(i - 6);
            }
            UI_Item selectable = inventoryItems [i].GetComponentInChildren <UI_Item>();
            selectable.parent = this;
            selectable.index  = i;
        }

        tooltipPanel = transform.Find("ItemTooltip").GetComponent <RectTransform>();
        tooltip      = tooltipPanel.GetComponent <UI_Tooltip> ();
        tooltipPanel.gameObject.SetActive(false);

        GameObject playerObj = GameObject.Find("Player");

        player    = playerObj.GetComponent <PlayerManager>();
        playerUse = playerObj.GetComponent <PlayerUse> ();
        inventory = playerObj.GetComponent <Inventory> ();

        inventoryOpen          = false;
        inventorySelectedIndex = -1;
    }
Example #8
0
    private void Selector_OnSelect(object sender, EventArgs e)
    {
        Selector.OnSelectEventArgs onSelectEventArgs = e as Selector.OnSelectEventArgs;
        UI_Item uI_Item = onSelectEventArgs.selectableObject as UI_Item;

        if (null != uI_Item)
        {
            selectedItemIndex = uI_Item.GetIndex();
        }

        Debug.Log("inventory selectedItemIndex: " + selectedItemIndex);
    }
Example #9
0
    public void OnDrop(PointerEventData eventData)
    {
        RaycastResult raycastResult = eventData.pointerCurrentRaycast;

        if (null != raycastResult.gameObject)
        {
            UI_Item uI_Item = raycastResult.gameObject.GetComponent <UI_Item>();
            if (null != uI_Item)
            {
                //custumer sell function call
            }
        }
    }
Example #10
0
 public void OnPointerExit(PointerEventData eventData)
 {
     if (true == Util.IsMultiTouch(eventData))
     {
         return;
     }
     if (null != eventData.pointerDrag)
     {
         UI_Item uI_Item = eventData.pointerDrag.GetComponent <UI_Item>();
         if (null != uI_Item)
         {
             uI_Inventory.LightOffUI_InventorySlot();
         }
     }
 }
Example #11
0
    //modify this function with the code you want to be executed when you activate an item
    public void ActivateItem(int id, string category, int source = -1)
    {
        UI_Item currentItem = GetComponent <UI_ItemsList>().allItems[id].GetComponent <UI_Item>(); //use this to access the activated item



        //Code for activating blueprint, modify with caution
        if (currentItem.isBlueprint == true) // the item will unlock a blueprint
        {
            currentItem.blueprintUnlock.SetActive(true);
        }

        //End of code
        //Add your code here
    }
Example #12
0
 public override void InitUIData()
 {
     base.InitUIData();
     _instance = this;
     mCloseBtn.onClick.AddListener(new UnityEngine.Events.UnityAction(OnCloseBtn));
     if (UI_SacredAltar._instance != null)
     {
         titleName.text = GameUtils.getString("clone_window1");
     }
     else
     {
         titleName.text = GameUtils.getString("item_info_form_title");
     }
     UpdateShow();
 }
Example #13
0
    void Awake()
    {
        ItemInterface = new UI_Item(Id, Icon, Size);
        State         = 0;

        //Aca empieza el hardcodeo
        Button BT = GetComponentInChildren <Button>();

        BT.onClick.AddListener(PickUp);
        Text Txt = GetComponentInChildren <Text>();

        Txt.text           = Name;
        InteractableObject = transform.Find("Interactable").gameObject;
        InteractableObject.transform.localPosition = InteractableObject.transform.localPosition + InteractableOffset;
    }
Example #14
0
 public void OnPointerEnter(PointerEventData eventData)
 {
     if (true == Util.IsMultiTouch(eventData))
     {
         return;
     }
     if (null != eventData.pointerDrag)
     {
         UI_Item uI_Item = eventData.pointerDrag.GetComponent <UI_Item>();
         if (null != uI_Item)
         {
             uI_Inventory.GetUISelectionFrame().ShowGlowingFrame(transform);
         }
     }
 }
Example #15
0
    private UI_Item CreateUI_Item(int index)
    {
        UI_InventorySlot uI_InventorySlot = uI_InventorySlotList[index];
        Transform        uI_ItemTransform = Instantiate(uI_ItemTemplate, uI_InventorySlot.transform);

        uI_ItemTransform.GetComponent <RectTransform>().anchoredPosition = Vector2.zero;
        uI_ItemTransform.gameObject.SetActive(true);

        UI_Item uI_Item = uI_ItemTransform.GetComponent <UI_Item>();

        uI_Item.SetIndex(index);
        uI_Item.SetItem(inventory.GetItem(index));
        uI_Item.UpdateUI();

        return(uI_Item);
    }
Example #16
0
    //Operations:
    public override void OnBeginDrag(PointerEventData Data)
    {
        base.OnBeginDrag(Data);

        UI_Drag DragObject = DragComponent.GetComponent <UI_Drag>();

        if (DragObject && Item != UI_Item.invalid)
        {
            DragObject.DragSize = Item.Size;
        }

        if (Inventory && Remove == RemoveType.RemoveOnDrag && RemoveEvent)
        {
            TempDrag = Item;
            ParentInventory.RemoveItem(Position);
        }
    }
Example #17
0
    public override void OnBeginDrag(PointerEventData Data)
    {
        base.OnBeginDrag(Data);

        UI_Drag DragObject = DragComponent.GetComponent <UI_Drag>();

        if (DragObject && Item != UI_Item.invalid)
        {
            DragObject.DragSize = Item.Size;
        }

        if (Remove == UI_InventorySlot.RemoveType.RemoveOnDrag && Inventory)
        {
            TempDrag = Item;
            Inventory.RemoveItem(gameObject);
        }
    }
Example #18
0
    public void OnDrop(PointerEventData eventData)
    {
        if (true == Util.IsMultiTouch(eventData))
        {
            return;
        }
        if (null != eventData.pointerDrag)
        {
            UI_Item uI_Item = eventData.pointerDrag.GetComponent <UI_Item>();
            if (null != uI_Item)
            {
                uI_Inventory.Swap(index, uI_Item.GetIndex());

                uI_Inventory.GetUISelectionFrame().ShowGlowingFrame(transform);
                Selector.GetInstance().OnSelectInvoke(this);
            }
        }
    }
Example #19
0
    public void OnDrop(PointerEventData eventData)
    {
        if (true == Util.IsMultiTouch(eventData))
        {
            return;
        }
        if (null != eventData.pointerDrag)
        {
            UI_Item uI_Item = eventData.pointerDrag.gameObject.GetComponent<UI_Item>();
            if(null != uI_Item)
            {
                uI_Inventory.Swap(index, uI_Item.GetIndex());

                UI_Item renewedUI_Item = transform.GetChild(0).GetComponent<UI_Item>();
                Selector.GetInstance().OnSelectInvoke(renewedUI_Item);
                uI_SelectionMark.ShowGlowingFrame(transform);
            }
        }
    }
Example #20
0
    protected void Update()
    {
        //HighLightUpdate();
        if (Input.GetKeyDown(KeyCode.C))
        {
            Temp = new UI_Item(DebugId, DebugIcon, DebugSize);
            AddItem(Temp, DebugPos);
        }

        if (Input.GetKeyDown(KeyCode.Alpha2))
        {
            //GetDataMap ();
        }

        if (Input.GetKeyDown(KeyCode.Alpha3))
        {
            print(RemoveItem(DebugPos));
        }
    }
    public void AddItem(int id)
    {
        Item itemtoAdd = database.GetItemByID(id);


        if (itemtoAdd.Stackable && CheckifItemisInInventory(itemtoAdd))
        {
            for (int i = 0; i < inventory.Count; i++)
            {
                if (inventory[i].GetComponent <UI_Item>().item.ID == id)
                {
                    UI_Item data = inventory[i].GetComponent <UI_Item>();
                    //UI_Item data = slots[i].transform.GetChild(0).GetComponent<UI_Item>();

                    data.amount++;
                    data.transform.GetChild(0).GetComponent <Text>().text = data.amount.ToString();
                    break;
                }
            }
        }
        else
        {
            for (int i = 0; i < items.Count; i++)
            {
                if (items[i].ID == -1)
                {
                    items[i] = itemtoAdd;
                    GameObject itemObj = Instantiate(inventoryItem) as GameObject;
                    inventory.Add(itemObj);
                    itemObj.GetComponent <UI_Item>().item   = itemtoAdd;
                    itemObj.GetComponent <UI_Item>().slot   = i;
                    itemObj.GetComponent <UI_Item>().amount = 1;
                    itemObj.transform.SetParent(slots[i].transform);
                    itemObj.transform.position            = Vector2.zero;
                    itemObj.GetComponent <Image>().sprite = itemtoAdd.sprite;
                    itemObj.name = itemtoAdd.name;
                    break;
                }
            }
        }
    }
Example #22
0
    // 아이템 생성하기
    public void CreateItem(ViewItem _item)
    {
        var item = Instantiate(itemPrototype);

        item.position = itemPrototype.position;
        item.GetComponent <RectTransform>().sizeDelta = new Vector2(30 * _item.sizeX, 30 * _item.sizeY);
        item.GetComponent <Image>().sprite            = _item.sprite.sprite;
        UI_Item itemScript = item.GetComponent <UI_Item>();

        itemScript.itemInfo      = new Item();
        itemScript.SIZE          = new ItemSize();
        itemScript.itemInfo.name = _item.t_name.text;
        itemScript.itemInfo.type = (ITEM_TYPE)Enum.Parse(typeof(ITEM_TYPE), _item.t_type.text);
        itemScript.SIZE.X        = _item.sizeX;
        itemScript.SIZE.Y        = _item.sizeY;

        // 아이템 코드 랜덤 생성
        string _code;

        while (true)
        {
            _code = UnityEngine.Random.Range(0, 1000).ToString();
            // 이미 있는 코드인지 확인, 코드 겹치지 않도록
            if (!CreatedItemsDictionary.ContainsKey(_code))
            {
                break;
            }
        }
        itemScript.itemInfo.code = _code;

        string    key   = itemScript.itemInfo.code;
        Transform value = item;

        // 딕셔너리에 아이템 추가
        CreatedItemsDictionary.Add(key, value);

        item.gameObject.SetActive(true);
        EventHandler.instance.SetSelectedItem(item);
    }
Example #23
0
    public Vector2Int AddItem(UI_Item NewItem, GameObject Slot)
    {
        if (!ValidateItemFormat(NewItem))
        {
            return(InvalidIndex);
        }

        Vector2Int   Index         = InvalidIndex;
        UI_EquipSlot SlotComponent = Slot.GetComponent <UI_EquipSlot>();

        if (SlotComponent)
        {
            DebugLog("Item added to Equipament Slot: [" + SlotComponent.Id + "]");
            SlotComponent.SetVisibility(Visiblility.Visible);
            SlotComponent.SetIcon(NewItem.Icon);
            SlotComponent.SetScale(NewItem.Size);
            SlotComponent.Item = NewItem;
            Index = new Vector2Int(SlotComponent.Id, SlotComponent.Id);
        }

        return(Index);
    }
Example #24
0
 public void UpdateUI_Item(int index)
 {
     if (null != inventory.GetItem(index))
     {
         UI_Item uI_Item = uI_InventorySlotList[index].GetComponentInChildren <UI_Item>();
         if (null != uI_Item)
         {
             uI_Item.UpdateItem(inventory.GetItem(index));
         }
         else
         {
             CreateUI_Item(index).transform.SetAsFirstSibling();
         }
     }
     else
     {
         UI_Item uI_Item = uI_InventorySlotList[index].GetComponentInChildren <UI_Item>();
         if (null != uI_Item)
         {
             Destroy(uI_Item.gameObject);
         }
     }
 }
Example #25
0
    public override void OnDrop(GameObject Slot)
    {
        if (Visible == Visiblility.Hidden)
        {
            return;
        }

        UI_EquipSlot EquipComponent = Slot.GetComponent <UI_EquipSlot>();

        if (EquipComponent && Inventory)
        {
            print("Drop Cast Equip");
        }

        UI_InventorySlot InventoryComponent = Slot.GetComponent <UI_InventorySlot>();

        if (InventoryComponent && Inventory)
        {
            UI_Item    Item  = (Remove == UI_InventorySlot.RemoveType.RemoveOnDrag) ? TempDrag : this.Item;
            Vector2Int Index = Inventory.AddItem(Item, InventoryComponent.Position);
            if (Index != UI_Inventory.InvalidIndex)
            {
                if (Remove == UI_InventorySlot.RemoveType.RemoveOnDrop)
                {
                    Inventory.RemoveItem(gameObject);
                }
            }
            else
            {
                if (Remove == UI_InventorySlot.RemoveType.RemoveOnDrag)
                {
                    Inventory.AddItem(Item, gameObject);
                }
            }
        }
    }
Example #26
0
 public virtual bool Equal(UI_Item other)
 {
     return(this.Id == other.Id && this.Size == other.Size && this.Icon == other.Icon);
 }
Example #27
0
 private void Awake()
 {
     myItem = GetComponent <UI_Item>();
 }
Example #28
0
    // 인벤 그리드에서 아이템사이즈에 맞는 슬롯 좌표 구하기
    public void GetItemSizeOnGrid(Vert v, Hor h, UI_Slot parentSlot)
    {
        // 아이템 드래그중 아니면 검사 안함
        if (SelectedItem == null)
        {
            return;
        }

        UI_Item item = SelectedItem.GetComponent <UI_Item>();

        // 아이템 사이즈
        int x = item.SIZE.X;
        int y = item.SIZE.Y;

        // 왼쪽 상단, 오른쪽 하단 값
        int maxX, minX;
        int maxY, minY;

        int upY, downY;
        int rightX, leftX;

        upY = downY = rightX = leftX = 0;

        // 짝수일때와 홀수일때 좌표 계산
        // 짝
        if (x % 2 == 0)
        {
            maxX = x / 2;
            minX = (x - 1) / 2;
        }
        // 홀
        else
        {
            maxX = minX = x / 2;
        }

        // 짝
        if (y % 2 == 0)
        {
            maxY = y / 2;
            minY = (y - 1) / 2;
        }
        // 홀
        else
        {
            maxY = minY = y / 2;
        }

        // 4분면중 어느곳에 마우스 포인터가 위치하는지
        switch (v)
        {
        case Vert.UP:
            upY   = parentSlot.y - maxY;
            downY = parentSlot.y + minY;

            break;

        case Vert.DOWN:
            upY   = parentSlot.y - minY;
            downY = parentSlot.y + maxY;

            break;
        }

        switch (h)
        {
        case Hor.RIGHT:
            leftX  = parentSlot.x - minX;
            rightX = parentSlot.x + maxX;

            break;

        case Hor.LEFT:
            leftX  = parentSlot.x - maxX;
            rightX = parentSlot.x + minX;

            break;
        }

        sc_InvGridManager.SetItemOnGrid(leftX, rightX, downY, upY);
    }
Example #29
0
        public void OnClickSelf()
        {
            switch (typeNum)
            {
            //符文
            case 1:

                ItemTemplate rune = (ItemTemplate)DataTemplate.GetInstance().m_ItemTable.getTableData(id);
                UI_RuneInfo.SetShowRuneDate(rune);
                if (UI_HomeControler.Inst == null)
                {
                    UI_FightControler.Inst.AddUI("UI_Rune/UI_RuneInfo_1_3");
                }
                else
                {
                    UI_HomeControler.Inst.AddUI("UI_Rune/UI_RuneInfo_1_3");
                }
                break;

            //道具
            case 2:
                ItemTemplate item = (ItemTemplate)DataTemplate.GetInstance().m_ItemTable.getTableData(id);
                UI_Item.SetItemTemplate(item);
                if (UI_HomeControler.Inst == null)
                {
                    UI_FightControler.Inst.AddUI("UI_Home/UI_Item_1_3");
                }
                else
                {
                    UI_HomeControler.Inst.AddUI("UI_Home/UI_Item_1_3");
                }


                break;

            //英雄
            case 3:
                if (UI_HomeControler.Inst == null)
                {
                    UI_FightControler.Inst.AddUI("UI_Home/UI_HeroInfoPop_1_3");
                }
                else
                {
                    UI_HomeControler.Inst.AddUI("UI_Home/UI_HeroInfoPop_1_3");
                }

                //ObjectCard obj = new ObjectCard();
                //Hero hero = new Hero();
                HeroTemplate _hero = (HeroTemplate)DataTemplate.GetInstance().m_HeroTable.getTableData(id);
                //hero.skill1 = _hero.getSkill1ID();
                //hero.skill2 = _hero.getSkill2ID();
                //hero.skill3 = _hero.getSkill3ID();
                //hero.heroid = id;
                //hero.herolevel = 1;
                //hero.heroviewid = _hero.getArtresources();
                //obj.GetHeroData().Init(hero);
                //Destroy(UI_SelectFightArea.Inst.Card3Dmodel);

                HeroInfoPop.inst.SetShowData(_hero);

                break;

            default:
                break;
            }
        }
Example #30
0
    public Vector2Int AddItem(UI_Item NewItem, Vector2Int Position)
    {
        if (!ValidateItemFormat(NewItem))
        {
            LastState = -1;
            return(UI_Inventory.InvalidIndex);
        }

        bool       ValidIndex = false, ValidSlot = true;
        Vector2Int Index = UI_Inventory.InvalidIndex;

        int ItemWidth  = Position.x + NewItem.Size.x;
        int ItemHeight = Position.y + NewItem.Size.y;

        ValidIndex = (Position.x >= 0 && Position.y >= 0) && (ItemWidth - 1 < Size.x) && (ItemHeight - 1 < Size.y);
        List <int>        HierarchyIndex   = new List <int> ();
        List <GameObject> DeactivatedSlots = new List <GameObject> ();

        bool             PointerValid;
        UI_InventorySlot Slot;

        for (int y = Position.y; y < ItemHeight; y++)
        {
            for (int x = Position.x; x < ItemWidth; x++)
            {
                PointerValid = (x < GridCells.GetLength(0)) && (y < GridCells.GetLength(1));
                if (PointerValid)
                {
                    Slot = GridCells [x, y].GetComponent <UI_InventorySlot> ();
                    if (Slot && Slot.Item == UI_Item.invalid)
                    {
                        ValidSlot &= true;
                        Slot.SetVisibility(Visiblility.Hidden);
                        Slot.Item = NewItem;
                        DeactivatedSlots.Add(Slot.gameObject);
                        HierarchyIndex.Add(Slot.transform.GetSiblingIndex());
                    }
                    else
                    {
                        ValidSlot &= false;
                    }
                }
                else
                {
                    ValidSlot &= false;
                }
            }
        }

        if (ValidIndex && ValidSlot)
        {
            DebugLog("Item Added: to [" + Position.x + "-" + Position.y + "]");
            Slot = GridCells[Position.x, Position.y].GetComponent <UI_InventorySlot>();
            Slot.SetVisibility(Visiblility.Visible);
            Slot.SetScale(NewItem.Size);//Problema con la escala
            Slot.SetIcon(NewItem.Icon);
            Slot.Item = NewItem;

            if (UnSymGridPanelComponent)
            {
                DebugLog("Unsym Grid Panel Subsystem");
                int MaxIndex = Mathf.Max(HierarchyIndex.ToArray());
                Slot.transform.SetSiblingIndex(MaxIndex);
                HierarchyIndex.Clear();
                LastState = 1;
            }

            if (GridPanelComponent)
            {
                DebugLog("Grid Panel Subsystem");
                UI_InventorySlot DeactivatedSlot;
                for (int i = 0; i < DeactivatedSlots.Count; i++)
                {
                    DeactivatedSlot = DeactivatedSlots[i].GetComponent <UI_InventorySlot>();
                    if (DeactivatedSlot && DeactivatedSlot.Position != Position)
                    {
                        DeactivatedSlot.RaycastMode = UI_Slot.RaycastFilter.Inactive;
                    }
                }
                LastState = 1;
                DeactivatedSlots.Clear();
            }

            Index = Position;
        }
        else
        {
            LastState = 0;
            DebugLog("Inventory space unavailable:");
            DebugLog("Slots Deactivated: " + DeactivatedSlots.Count);
            DebugLog("Index: [" + ValidIndex + "]");
            DebugLog("Slot: [" + ValidSlot + "]");

            for (int i = 0; i < DeactivatedSlots.Count; i++)
            {
                Slot = DeactivatedSlots [i].GetComponent <UI_InventorySlot> ();
                if (Slot && Slot.Item == NewItem || Slot.Item == UI_Item.invalid)
                {
                    Slot.SetVisibility(Visiblility.Visible);
                    Slot.Item = new UI_Item();
                    Slot.SetIcon(null);
                    Slot.SetScale(new Vector2(1, 1));
                }
            }
            DeactivatedSlots.Clear();
        }
        return(Index);
    }