Ejemplo n.º 1
0
 public void Activate(ICycleObserver <PossessorSearcher.ItemPossessor> observer)
 {
     this.observer = observer;
     charList      = new CircularLinkedList <PossessorSearcher.ItemPossessor>();
     PossessorSearcher.FillPossessorList(charList);
     currPoss = charList.current.value;
 }
Ejemplo n.º 2
0
    public void ToggleEquipAbility()
    {
        InventoryHolder invHolder    = ItemManager.Instance.GetInvHolder(itemsDisplay.CurrentPossessor);
        Equipment       itemToToggle = (Equipment)ItemManager.Instance.GetItemAt(itemsDisplay.SelectedPos, itemsDisplay.CurrentPossessor);

        itemToToggle.ToggleEquipAbility(PossessorSearcher.GetPossessor(itemsDisplay.CurrentPossessor));

        if (invHolder.ItemHolders[itemsDisplay.SelectedPos].IsEquipped)
        {
            OrganizeAfterToggle(invHolder, itemsDisplay.SelectedPos, false);
        }
        else
        {
            int equippedItemPos = invHolder.FindSameEquippedType(itemToToggle);

            if (equippedItemPos != InventoryHolder.POSITION_INVALID)
            {
                OrganizeAfterToggle(invHolder, equippedItemPos, false);
            }

            OrganizeAfterToggle(invHolder, itemsDisplay.SelectedPos, true);
        }

        itemsDisplay.DisplayAll();
    }
Ejemplo n.º 3
0
 private void InitEssentials()
 {
     selectedPos        = -1;
     currentPossessor   = PossessorSearcher.ItemPossessor.BAG;
     possessorText.text = PossessorSearcher.bagPossessor;
     invList            = new CircularLinkedList <PossessorSearcher.ItemPossessor>();
     PossessorSearcher.FillPossessorList(invList);
     primInvoker = new PrimaryActionInvoker(this);
 }
Ejemplo n.º 4
0
    public void PrevPossessor()
    {
        string possText = "";

        do
        {
            invList.PrevPos();
            possText = PossessorSearcher.GetPossessorName(invList.current.value);
        }while (possText.Equals(""));

        currentPossessor   = invList.current.value;
        possessorText.text = possText;
        DisplayAll();
    }
Ejemplo n.º 5
0
    public override void DisplayAll()
    {
        if (currentState == defaultState)
        {
            Reset();
        }

        currentInv         = ItemManager.Instance.GetInventory(currentPossessor);
        possessorText.text = PossessorSearcher.GetPossessorName(currentPossessor);

        for (int i = 0; i < ItemManager.MAX_INVENTORY_SIZE; i++)
        {
            itemButtons[i].DisplayItem(currentInv[i]);
        }
    }
Ejemplo n.º 6
0
        public void PrevChar()
        {
            string possText = "";

            do
            {
                charList.PrevPos();
                possText = PossessorSearcher.GetPossessorName(charList.current.value);
            }while (possText.Equals(""));

            currPoss           = charList.current.value;
            possessorText.text = possText;

            observer.OnCycle(charList.current.value);
        }
Ejemplo n.º 7
0
    private bool SetPrimaryButtonInteractable()
    {
        if (currentInv[selectedPos].IsEmpty())
        {
            return(false);
        }

        if (currentPossessor == PossessorSearcher.ItemPossessor.BAG)
        {
            if (!primaryActionText.text.Equals(Item.USE_ACTION))
            {
                return(false);
            }
            return(true);
        }

        if (primaryActionText.text.Equals(Item.USE_ACTION))
        {
            return(true);
        }

        if (((ItemManager.Instance.GetItemAt(selectedPos, currentPossessor)) as Equipment).CanEquip(PossessorSearcher.GetPossessorName(currentPossessor)))
        {
            return(true);
        }

        return(false);
    }