Esempio n. 1
0
    public void ObtainNewAbility(Progress.GameItems item)
    {
        ////print((("Obtain "+ item);
        foreach (AbilityId id in Enum.GetValues(typeof(AbilityId)))
        {
            if (id == AbilityId.NONE)
            {
                continue;
            }

            if (abilities[id].itemID == item)
            {
                AbilitySettings ability = abilities[id];
                ability.saveInfo.obtained = true;
                abilities[id]             = ability;

                activeMenu.Init();
                passiveMenu.Init();
                activeSelectMenu.Init(ref abilities);
                passiveSelectMenu.isSelectable = (Ability.AbilitySettings abilities) =>
                {
                    return((!ability.isActivatable) && (ability.description.id != Ability.AbilityId.NONE));
                };
                passiveSelectMenu.Init(ref abilities);
                break;
            }
        }
    }
 public override void ActivateInteraction()
 {
     Progress.GameItems item = manager.progress.CheckUpdate(npc.id);
     if (item == Progress.GameItems.NONE)
     {
         showMessage(npc.hiMessage);
     }
     else
     {
         showMessage(item);
     }
     manager.StopDisplayOnScreen(gameObject);
 }
 public virtual void showMessage(Progress.GameItems id)
 {
     foreach (NPCJson.ItemMsg itemMsg in npc.itensMessage)
     {
         if (itemMsg.id == id)
         {
             showMessage(itemMsg.msgs);
             manager.progress.CommentedBy(npc.id, id);
             return;
         }
     }
     showMessage(npc.hiMessage);
 }
    public void Init(Progress.GameItems itemID)
    {
        if (GameManager.GetInstance().GetCurrentSave().items == null)
        {
            info.id       = itemID;
            info.obtained = false;
            info.isActive = false;

            List <NPCStatus> status = new List <NPCStatus>();
            foreach (NPCJson.NPC_Message npc in GameManager.GetInstance().npcsJson.npcs)
            {
                foreach (NPCJson.ItemMsg item in npc.itensMessage)
                {
                    if (item.id == itemID)
                    {
                        NPCStatus stat;
                        stat.npc    = npc.id;
                        stat.status = Status.NotCommented;
                        status.Add(stat);
                        break;
                    }
                }
            }
            info.npcSstatus = status.ToArray();
            return;
        }

        foreach (SaveJson.ItemInfo i in GameManager.GetInstance().GetCurrentSave().items)
        {
            if (i.id == itemID)
            {
                info = i;
                return;
            }
        }
    }
 public override void showMessage(Progress.GameItems item)
 {
     base.showMessage(item);
     //print((("Progress Item = " + item.getMessage(gameObject)[0].text);
     manager.ability.ObtainNewAbility(item);
 }
Esempio n. 6
0
 public bool Active(Progress.GameItems id)
 {
     return(items[id].info.obtained && items[id].info.isActive);
 }
Esempio n. 7
0
 public void CommentedBy(NPC.NPCs npc, Progress.GameItems id)
 {
     items[id].CommentedBy(npc);
 }
 public void AddItem(Progress.GameItems type)
 {
     progress.AddItem(type);
 }