Exemple #1
0
    public void OnPocketClick(string pocket_name)
    {
        BackpackPocket pocket = (BackpackPocket)Enum.Parse(typeof(BackpackPocket), pocket_name);

        Inventory3DManager.Get().SetupPocket(pocket);
        this.PlayChangeTabSound();
    }
Exemple #2
0
 public void SetBackpackTransform(BackpackPocket pocket)
 {
     if (pocket != BackpackPocket.None && this.m_Backpack)
     {
         this.m_Backpack.transform.localRotation = this.m_Backpack.m_PocketRotation[(int)pocket];
         this.m_Backpack.transform.localPosition = this.m_Backpack.m_PocketPosition[(int)pocket];
     }
 }
Exemple #3
0
    public void SetupPocket(BackpackPocket pocket)
    {
        if (pocket == BackpackPocket.None)
        {
            return;
        }
        this.m_ActivePlane  = null;
        this.m_ActivePocket = pocket;
        this.SetBackpackTransform(pocket);
        PocketGrid pocketGrid = null;

        if (pocket != BackpackPocket.Main)
        {
            if (pocket == BackpackPocket.Front)
            {
                this.m_ActivePlane = this.m_FrontPlane;
                this.m_MainPlane.gameObject.SetActive(false);
                this.m_ActivePlane.gameObject.SetActive(true);
                this.m_FrontPocketGrid.Setup();
                pocketGrid = this.m_FrontPocketGrid;
            }
        }
        else
        {
            this.m_ActivePlane = this.m_MainPlane;
            this.m_FrontPlane.gameObject.SetActive(false);
            this.m_ActivePlane.gameObject.SetActive(true);
            this.m_MainPocketGrid.Setup();
            pocketGrid = this.m_MainPocketGrid;
        }
        if (pocket != BackpackPocket.None)
        {
            List <GameObject> objectToDisable = this.m_Backpack.GetObjectToDisable(pocket);
            for (int i = 0; i < this.m_Backpack.transform.childCount; i++)
            {
                GameObject gameObject = this.m_Backpack.transform.GetChild(i).gameObject;
                if (this.m_FakeItemsData.ContainsKey(gameObject) && !this.m_FakeItemsData[gameObject])
                {
                    gameObject.SetActive(false);
                }
                else
                {
                    gameObject.SetActive(!objectToDisable.Contains(this.m_Backpack.transform.GetChild(i).gameObject));
                }
            }
            foreach (Item item in this.m_Items)
            {
                item.gameObject.SetActive(item.m_Info.m_BackpackPocket == pocket);
                if (pocketGrid != null && item.m_Info.m_InventoryCellsGroup != null && item.m_CurrentSlot == null)
                {
                    item.m_Info.m_InventoryCellsGroup.Setup();
                    item.m_Info.m_InventoryCellsGroup.SetupTansform(item, pocketGrid.m_Grid);
                }
            }
        }
    }
Exemple #4
0
 public InventoryCellsGroup FindBestGroup(BackpackPocket pocket)
 {
     if (pocket == BackpackPocket.Main)
     {
         return(this.m_MainPocketGrid.FindBestGroup());
     }
     if (pocket != BackpackPocket.Front)
     {
         return(null);
     }
     return(this.m_FrontPocketGrid.FindBestGroup());
 }
Exemple #5
0
 public InventoryCell GetCellByName(string name, BackpackPocket pocked)
 {
     if (pocked == BackpackPocket.Main)
     {
         return(this.m_MainPocketGrid.GetCellByName(name));
     }
     if (pocked == BackpackPocket.Front)
     {
         return(this.m_FrontPocketGrid.GetCellByName(name));
     }
     DebugUtils.Assert(DebugUtils.AssertType.Info);
     return(null);
 }
Exemple #6
0
 public void OnSetSelectedGroup(BackpackPocket pocket, InventoryCellsGroup group)
 {
     if (pocket == BackpackPocket.Main)
     {
         this.m_MainPocketGrid.OnSetSelectedGroup(group);
         return;
     }
     if (pocket != BackpackPocket.Front)
     {
         return;
     }
     this.m_FrontPocketGrid.OnSetSelectedGroup(group);
 }
Exemple #7
0
 public void SetupPocket(BackpackPocket pocket)
 {
     foreach (Item item in InventoryBackpack.Get().m_Items)
     {
         if (item.m_Info.m_BackpackPocket == pocket)
         {
             item.m_ShownInInventory = true;
         }
     }
     InventoryBackpack.Get().SetupPocket(pocket);
     HUDBackpack.Get().SetupPocket(pocket);
     this.m_ActivePocket = pocket;
 }
Exemple #8
0
 public ItemSlot GetSlotByIndex(int index, BackpackPocket pocked)
 {
     if (pocked == BackpackPocket.Left)
     {
         return(this.m_LeftSlots[index]);
     }
     if (pocked == BackpackPocket.Right)
     {
         return(this.m_RightSlots[index]);
     }
     if (pocked == BackpackPocket.Top)
     {
         return(this.m_TopSlots[index]);
     }
     return(null);
 }
Exemple #9
0
    public void SetupPocket(BackpackPocket pocket)
    {
        Item currentItem = Player.Get().GetCurrentItem(Hand.Right);

        int[] array = new int[5];
        foreach (Item item in InventoryBackpack.Get().m_Items)
        {
            if (item != currentItem && !item.gameObject.activeSelf && !item.m_ShownInInventory)
            {
                array[(int)item.m_Info.m_BackpackPocket]++;
            }
        }
        foreach (PocketImageData pocketImageData in this.m_PocketImages)
        {
            if (pocketImageData.new_count_bg && pocketImageData.new_count_text)
            {
                if (pocketImageData.pocket == pocket)
                {
                    pocketImageData.new_count_bg.gameObject.SetActive(false);
                    pocketImageData.new_count_text.gameObject.SetActive(false);
                }
                else if (array[(int)pocketImageData.pocket] > 0)
                {
                    pocketImageData.new_count_bg.gameObject.SetActive(true);
                    pocketImageData.new_count_text.gameObject.SetActive(true);
                    string text = array[(int)pocketImageData.pocket].ToString();
                    if (text != pocketImageData.new_count_text.text && !this.m_Animations.ContainsKey(pocketImageData))
                    {
                        this.m_Animations.Add(pocketImageData, Time.time);
                    }
                    pocketImageData.new_count_text.text = text;
                }
                else
                {
                    pocketImageData.new_count_bg.gameObject.SetActive(false);
                    pocketImageData.new_count_text.gameObject.SetActive(false);
                }
            }
        }
    }
Exemple #10
0
 public ItemSlot GetSlotByName(string name, BackpackPocket pocked)
 {
     if (name == null || name == string.Empty)
     {
         return(null);
     }
     if (pocked == BackpackPocket.Left)
     {
         for (int i = 0; i < this.m_LeftSlots.Count; i++)
         {
             if (this.m_LeftSlots[i].name == name)
             {
                 return(this.m_LeftSlots[i]);
             }
         }
     }
     else if (pocked == BackpackPocket.Right)
     {
         for (int j = 0; j < this.m_RightSlots.Count; j++)
         {
             if (this.m_RightSlots[j].name == name)
             {
                 return(this.m_RightSlots[j]);
             }
         }
     }
     else if (pocked == BackpackPocket.Top)
     {
         for (int k = 0; k < this.m_TopSlots.Count; k++)
         {
             if (this.m_TopSlots[k].name == name)
             {
                 return(this.m_TopSlots[k]);
             }
         }
     }
     DebugUtils.Assert(name + " - " + pocked.ToString(), true, DebugUtils.AssertType.Info);
     return(null);
 }
Exemple #11
0
    public void Initialize(GameObject cell_prefab, BackpackPocket pocket)
    {
        this.m_CellLayer = LayerMask.NameToLayer("3DInventory");
        this.m_Pocked    = pocket;
        Vector3 one = Vector3.one;

        one.x             = 1f / (float)((int)this.m_GridSize.x);
        one.y             = 1f / (float)((int)this.m_GridSize.y);
        this.m_CellSize.x = one.x * this.m_Grid.transform.localScale.x;
        this.m_CellSize.y = one.y * this.m_Grid.transform.localScale.y;
        int num = 0;

        this.m_Cells = new InventoryCell[(int)this.m_GridSize.x, (int)this.m_GridSize.y];
        for (int i = 0; i < (int)this.m_GridSize.y; i++)
        {
            for (int j = 0; j < (int)this.m_GridSize.x; j++)
            {
                InventoryCell inventoryCell = new InventoryCell();
                inventoryCell.m_IndexX                         = j;
                inventoryCell.m_IndexY                         = i;
                inventoryCell.pocket                           = this.m_Pocked;
                inventoryCell.m_Object                         = UnityEngine.Object.Instantiate <GameObject>(cell_prefab);
                inventoryCell.m_Object.name                    = this.m_Pocked.ToString() + num.ToString();
                inventoryCell.m_Object.layer                   = this.m_CellLayer;
                inventoryCell.m_Renderer                       = inventoryCell.m_Object.GetComponent <Renderer>();
                inventoryCell.m_Renderer.enabled               = false;
                inventoryCell.m_Object.transform.parent        = this.m_Grid.transform;
                inventoryCell.m_Object.transform.localRotation = Quaternion.identity;
                inventoryCell.m_Object.transform.localScale    = one;
                Vector3 zero = Vector3.zero;
                zero.x = 0.5f - one.x * 0.5f - one.x * (float)j;
                zero.y = 0.5f - one.y * 0.5f - one.y * (float)i;
                inventoryCell.m_Object.transform.localPosition = zero;
                this.m_Cells[j, i] = inventoryCell;
                num++;
            }
        }
    }
Exemple #12
0
    public List <GameObject> GetObjectToDisable(BackpackPocket pocket)
    {
        switch (pocket)
        {
        case BackpackPocket.Main:
            return(this.m_MainPocketDisabledObjs);

        case BackpackPocket.Front:
            return(this.m_FrontPocketDisabledObjs);

        case BackpackPocket.Top:
            return(this.m_TopPocketDisabledObjs);

        case BackpackPocket.Left:
            return(this.m_LeftPocketDisabledObjs);

        case BackpackPocket.Right:
            return(this.m_RightPocketDisabledObjs);

        default:
            return(null);
        }
    }
 public InventoryCellsGroup(BackpackPocket pocket)
 {
     this.m_Pocked = pocket;
 }
Exemple #14
0
    public void OnInputAction(InputActionData action_data)
    {
        if (Inventory3DManager.Get().m_CarriedItem == null)
        {
            if (action_data.m_Action == InputsManager.InputAction.InventoryNextTab)
            {
                if (HUDItem.Get().m_Active)
                {
                    HUDItem.Get().Deactivate();
                }
                BackpackPocket pocket = Inventory3DManager.Get().m_ActivePocket;
                switch (pocket)
                {
                case BackpackPocket.Main:
                    pocket = BackpackPocket.Front;
                    break;

                case BackpackPocket.Front:
                    pocket = BackpackPocket.Right;
                    break;

                case BackpackPocket.Top:
                    pocket = BackpackPocket.Main;
                    break;

                case BackpackPocket.Left:
                    pocket = BackpackPocket.Top;
                    break;

                case BackpackPocket.Right:
                    pocket = BackpackPocket.Left;
                    break;
                }
                Inventory3DManager.Get().SetupPocket(pocket);
                return;
            }
            if (action_data.m_Action == InputsManager.InputAction.InventoryPrevTab)
            {
                if (HUDItem.Get().m_Active)
                {
                    HUDItem.Get().Deactivate();
                }
                BackpackPocket pocket2 = Inventory3DManager.Get().m_ActivePocket;
                switch (pocket2)
                {
                case BackpackPocket.Main:
                    pocket2 = BackpackPocket.Top;
                    break;

                case BackpackPocket.Front:
                    pocket2 = BackpackPocket.Main;
                    break;

                case BackpackPocket.Top:
                    pocket2 = BackpackPocket.Left;
                    break;

                case BackpackPocket.Left:
                    pocket2 = BackpackPocket.Right;
                    break;

                case BackpackPocket.Right:
                    pocket2 = BackpackPocket.Front;
                    break;
                }
                Inventory3DManager.Get().SetupPocket(pocket2);
            }
        }
    }