Esempio n. 1
0
        public IEnumerator <YieldInstruction> ProcessGiveItem(GroundChar character, int invSlot, int teamSlot)
        {
            ExplorerTeam memberTeam = DataManager.Instance.Save.ActiveTeam;
            Character    itemChar   = memberTeam.Leader;

            if (teamSlot > -1)
            {
                itemChar = memberTeam.Players[teamSlot];
            }

            //no curse check in ground mode

            InvItem item = memberTeam.GetInv(invSlot);

            memberTeam.RemoveFromInv(invSlot);

            GameManager.Instance.SE(DataManager.Instance.EquipSE);

            if (itemChar.EquippedItem.ID > -1)
            {
                yield return(CoroutineManager.Instance.StartCoroutine(MenuManager.Instance.SetDialogue(false, Text.FormatKey("MSG_ITEM_SWAP", itemChar.Name, item.GetName(), itemChar.EquippedItem.GetName()))));

                //put item in inv
                memberTeam.AddToInv(new InvItem(itemChar.EquippedItem));
            }
            else
            {
                yield return(CoroutineManager.Instance.StartCoroutine(MenuManager.Instance.SetDialogue(false, Text.FormatKey("MSG_ITEM_GIVE", itemChar.Name, item.GetName()))));
            }


            itemChar.EquipItem(item);
        }
Esempio n. 2
0
        public IEnumerator <YieldInstruction> ProcessTakeItem(GroundChar character, int teamSlot)
        {
            ExplorerTeam memberTeam = DataManager.Instance.Save.ActiveTeam;
            Character    itemChar   = memberTeam.Players[teamSlot];

            //no curse check in ground mode

            InvItem item = itemChar.EquippedItem;

            memberTeam.AddToInv(item);
            itemChar.DequipItem();
            GameManager.Instance.SE(DataManager.Instance.EquipSE);
            yield return(CoroutineManager.Instance.StartCoroutine(MenuManager.Instance.SetDialogue(false, Text.FormatKey("MSG_ITEM_DEQUIP", itemChar.Name, item.GetName()))));
        }