123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- using CommonAI.Zone.Instance;
- using CommonLang;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace CommonAI.Zone.Helper
- {
- public enum QuestState : byte
- {
- Uncharted = 0,
- Accepted = 1,
- Commited = 2,
- }
- public class QuestData
- {
- public readonly string QuestID;
- public QuestState State = QuestState.Uncharted;
- public HashMap<string, string> Attributes = new HashMap<string, string>();
- public QuestData(string id)
- {
- this.QuestID = id;
- }
- }
- public abstract class IQuestAdapter : IDisposable
- {
- private InstanceZone mZone;
- public IQuestAdapter(InstanceZone zone)
- {
- mZone = zone;
- }
- public InstanceZone Zone { get { return mZone; } }
-
- /// <summary>
- /// 【第三方系统通知】任务已接受
- /// </summary>
- /// <param name="playerUUID"></param>
- /// <param name="quest"></param>
- public virtual void OnQuestAcceptedHandler(string playerUUID, string quest)
- {
- mZone.gs_OnQuestAccepted(playerUUID, quest);
- }
- /// <summary>
- /// 【第三方系统通知】任务已完成
- /// </summary>
- /// <param name="playerUUID"></param>
- /// <param name="quest"></param>
- public virtual void OnQuestCommittedHandler(string playerUUID, string quest)
- {
- mZone.gs_OnQuestCommitted(playerUUID, quest);
- }
- /// <summary>
- /// 【第三方系统通知】任务已放弃
- /// </summary>
- /// <param name="playerUUID"></param>
- /// <param name="quest"></param>
- public virtual void OnQuestDroppedHandler(string playerUUID, string quest)
- {
- mZone.gs_OnQuestDropped(playerUUID, quest);
- }
- /// <summary>
- /// 【第三方系统通知】任务状态已改变
- /// </summary>
- /// <param name="playerUUID"></param>
- /// <param name="quest"></param>
- /// <param name="key"></param>
- /// <param name="value"></param>
- public virtual void OnQuestStatusChangedHandler(string playerUUID, string quest, string key, string value)
- {
- mZone.gs_OnQuestStatusChanged(playerUUID, quest, key, value);
- }
- /// <summary>
- /// 【战斗模块请求】接受任务
- /// </summary>
- /// <param name="playerUUID"></param>
- /// <param name="quest"></param>
- /// <param name="args"></param>
- public abstract void DoAcceptQuest(string playerUUID, string quest, string args);
- //向玩家发送消息
- public abstract void DoSendMsgToPlayer(string playerUUID, CommonLang.Protocol.IMessage msg);
- /// <summary>
- /// 【战斗模块请求】
- /// </summary>
- /// <param name="playerUUID"></param>
- /// <param name="quest"></param>
- /// <param name="args"></param>
- public abstract void DoCommitQuest(string playerUUID, string quest, string args);
- /// <summary>
- /// 【战斗模块请求】
- /// </summary>
- /// <param name="playerUUID"></param>
- /// <param name="quest"></param>
- /// <param name="args"></param>
- public abstract void DoDropQuest(string playerUUID, string quest, string args);
- /// <summary>
- /// 【战斗模块请求】
- /// </summary>
- /// <param name="playerUUID"></param>
- /// <param name="quest"></param>
- /// <param name="key"></param>
- /// <param name="value"></param>
- public abstract void DoUpdateQuestStatus(string playerUUID, string quest, string key, string value);
- public virtual void Dispose()
- {
- }
- }
- }
|