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); }
public bool Active(Progress.GameItems id) { return(items[id].info.obtained && items[id].info.isActive); }
public void CommentedBy(NPC.NPCs npc, Progress.GameItems id) { items[id].CommentedBy(npc); }
public void AddItem(Progress.GameItems type) { progress.AddItem(type); }