protected override void Initialize() { log.WriteLine("Scipting", "Initialize warper class npc"); NpcFunction.Create <Saga.Npc.Functions.EverydayConversation>(this); NpcFunction.Create <Saga.Npc.Functions.WarperConversation>(this); NpcFunction.Create <Saga.Npc.Functions.QuestConversation>(this); }
public void RemoveEventListener(NpcFunction function, NpcEventHandler handler) { if (NpcEvents.ContainsKey(function)) { NpcEvents[function] -= handler; } }
private static void AnswerOnNpcQuestion(ZoneCharacter character, byte answer) { NPC npc = (character.Question.Object as NPC); MobInfo mob = DataProvider.Instance.GetMobInfo(npc.ID); string NpcFunction; DataProvider.Instance.ShineNpcTable.TryGetValue(mob.Name + "\t" + npc.Map.MapInfo.ShortName + "\t" + npc.Position.X + "\t" + npc.Position.Y, out NpcFunction); if (NpcFunction != null) { switch (answer) { case 0: break; case 1: if (NpcFunction.Split('\t')[1] == "1" && NpcFunction.Split('\t')[2] == "Merchant" && NpcFunction.Split('\t')[3] == "SoulStone") { SendSellHPSP(character); } else if (NpcFunction.Split('\t')[1] == "1" && NpcFunction.Split('\t')[2] == "Merchant" && NpcFunction.Split('\t')[3] == "Item") { SendSellItems(character, mob.Name); } break; default: Log.WriteLine(LogLevel.Warn, "Invalid gate question response."); break; } } else { Log.WriteLine(LogLevel.Error, "NpcHandler :: Can not find NpcAction for {0} on M: {1}", mob.Name, npc.Map.MapInfo.FullName); } }
protected override void Initialize() { log.WriteLine("Scipting", "Initialize BlackSmith class npc"); NpcFunction.Create <Saga.Npc.Functions.EverydayConversation>(this); NpcFunction.Create <Saga.Npc.Functions.BlackSmith>(this); NpcFunction.Create <Saga.Npc.Functions.ShopConversation>(this); NpcFunction.Create <Saga.Npc.Functions.TraderConversation>(this); NpcFunction.Create <Saga.Npc.Functions.QuestConversation>(this); }
public void RegisterNpcEvent(NpcFunction function, NpcActionHandler action) { if (!EventMap.ContainsKey(function)) { EventMap[function] = action; } else { EventMap[function] += action; } }
public void RegisterNpcEvent(NpcFunction npcFunction, NpcActionHanger npcActionHanger) { if (!eventMap.ContainsKey(npcFunction)) //如果不存在 添加字典 { eventMap[npcFunction] = npcActionHanger; } else//是不是应该去掉? { eventMap[npcFunction] += npcActionHanger;//如果存在注册委托 } }
public void AddEventListener(NpcFunction function, NpcEventHandler handler) { if (NpcEvents.ContainsKey(function)) { NpcEvents[function] += handler; } else { NpcEvents.Add(function, handler); } }
protected override void Initialize() { NpcFunction.Create <Saga.Npc.Functions.TraderConversation>(this); NpcFunction.Create <Saga.Npc.Functions.QuestConversation>(this); }
protected override void Initialize() { NpcFunction.Create <Saga.Npc.Functions.QuestConversation>(this); NpcFunction.Create <Saga.Npc.Functions.EverydayConversation>(this); NpcFunction.Create <BlacksmithFunction>(this); }
public void Attach(NpcFunction fun) { Fun = fun; FunName.text = Fun.Name; }
internal void Add(DialogType id, byte menu, NpcFunction.FunctionCallback callback) { ButtonCallback mycallback = __callbacks[(byte)id]; mycallback.callbacks.Add(menu, callback); }
internal void Add(DialogType id, NpcFunction.FunctionCallback callback) { ButtonCallback mycallback = new ButtonCallback(); mycallback.callback = callback; __callbacks.Add((byte)id, mycallback); }