123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406 |
- using CommonAI.RTS;
- using CommonLang.Vector;
- using CommonAI.Zone.Attributes;
- using CommonAI.Zone.Formula;
- namespace CommonAI.Zone.Instance
- {
- partial class InstanceZone
- {
- public delegate void InitHandler(InstanceZone zone);
- public delegate void PostEventHandler(InstanceZone zone, Event e);
- public delegate void SendMessageB2RHandler(InstanceZone zone, CommonAI.ZoneServer.SendMessageB2R e);
- public delegate void RecvMessageR2BHandler(InstanceZone zone, CommonAI.ZoneServer.SendMessageR2B e);
- public delegate void SendEventB2RHandler(InstanceZone zone, CommonAI.ZoneServer.SendEventB2R e);
- public delegate void ObjectPosChangedHandler(InstanceZone zone, InstanceZoneObject o);
- public delegate void ObjectSpaceChangedHandler(InstanceZone zone, InstanceZoneObject o, SpaceDivision.SpaceCellNode old_node, SpaceDivision.SpaceCellNode new_node);
- public delegate void ObjectAreaChangedHandler(InstanceZone zone, InstanceZoneObject o, ZoneArea old_node, ZoneArea new_node);
- public delegate void GameOverHandler(InstanceZone zone, GameOverEvent evt);
- public delegate void OnHandleObjectActionHandler(InstanceZoneObject obj, ObjectAction act);
- public delegate void OnHandleActionHandler(InstanceZone zone, Action act);
- public delegate bool OnHandleTryAddUnit(UnitInfo info);
- public delegate bool OnHandleTryAddItem(ItemTemplate info);
- /// <summary>
- /// 场景更新触发
- /// </summary>
- /// <param name="zone"></param>
- public delegate void UpdateHandler(InstanceZone zone);
- /// <summary>
- /// 当单位可攻击时触发,如果单位有出生动画,则动画完结后触发。
- /// </summary>
- /// <param name="zone"></param>
- /// <param name="obj"></param>
- public delegate void UnitActivatedHandler(InstanceZone zone, InstanceUnit obj);
- /// <summary>
- /// 单位进入触发
- /// </summary>
- /// <param name="zone"></param>
- /// <param name="obj"></param>
- public delegate void UnitAddedHandler(InstanceZone zone, InstanceUnit obj);
- /// <summary>
- /// 单位移除触发
- /// </summary>
- /// <param name="zone"></param>
- /// <param name="obj"></param>
- public delegate void UnitRemovedHandler(InstanceZone zone, InstanceUnit obj);
- /// <summary>
- /// 物品移除触发
- /// </summary>
- /// <param name="zone"></param>
- /// <param name="obj"></param>
- public delegate void ItemRemovedHandler(InstanceZone zone, InstanceItem obj);
- /// <summary>
- /// 单位开始放技能
- /// </summary>
- /// <param name="zone"></param>
- /// <param name="u"></param>
- /// <param name="skill"></param>
- public delegate void UnitLaunchSkillHandler(InstanceZone zone, InstanceUnit u, InstanceUnit.SkillState skill);
- /// <summary>
- /// 单位死亡触发
- /// </summary>
- /// <param name="zone"></param>
- /// <param name="obj"></param>
- /// <param name="attacker"></param>
- public delegate void UnitDeadHandler(InstanceZone zone, InstanceUnit obj, InstanceUnit attacker);
- /// <summary>
- /// 单位受到攻击触发
- /// </summary>
- /// <param name="zone"></param>
- /// <param name="obj"></param>
- /// <param name="attacker"></param>
- public delegate void UnitDamageHandler(InstanceZone zone, InstanceUnit obj, InstanceUnit attacker, int reduceHP, AttackSource source);
- /// <summary>
- /// 单位复活触发
- /// </summary>
- /// <param name="zone"></param>
- /// <param name="obj"></param>
- public delegate void UnitRebirthHandler(InstanceZone zone, InstanceUnit obj);
- /// <summary>
- /// 单位获取场景物品
- /// </summary>
- /// <param name="zone"></param>
- /// <param name="unit"></param>
- /// <param name="item"></param>
- public delegate void UnitGotInstanceItemHandler(InstanceZone zone, InstanceUnit unit, InstanceItem item);
- /// <summary>
- /// 单位获取物品进背包
- /// </summary>
- /// <param name="zone"></param>
- /// <param name="unit"></param>
- /// <param name="item"></param>
- /// <param name="count"></param>
- public delegate void UnitGotInventoryItemHandler(InstanceZone zone, InstanceUnit unit, ItemTemplate item, int count);
- /// <summary>
- /// 单位丢失物品
- /// </summary>
- /// <param name="zone"></param>
- /// <param name="unit"></param>
- /// <param name="item"></param>
- /// <param name="count"></param>
- public delegate void UnitLostInventoryItemHandler(InstanceZone zone, InstanceUnit unit, ItemTemplate item, int count);
- /// <summary>
- /// 单位获取物品
- /// </summary>
- /// <param name="zone"></param>
- /// <param name="unit"></param>
- /// <param name="item"></param>
- /// <param name="item_creater"></param>
- public delegate void UnitUseItemHandler(InstanceZone zone, InstanceUnit unit, ItemTemplate item, InstanceUnit item_creater);
- /// <summary>
- /// 单位中BUFF
- /// </summary>
- /// <param name="zone"></param>
- /// <param name="unit"></param>
- /// <param name="buff"></param>
- public delegate void UnitGotBuffHandler(InstanceZone zone, InstanceUnit unit, InstanceUnit.BuffState buff);
- /// <summary>
- /// 单位失去BUFF
- /// </summary>
- /// <param name="zone"></param>
- /// <param name="unit"></param>
- /// <param name="buff"></param>
- public delegate void UnitLostBuffHandler(InstanceZone zone, InstanceUnit unit, InstanceUnit.BuffState buff);
- /// <summary>
- /// 单位获取金币
- /// </summary>
- /// <param name="obj"></param>
- /// <param name="add_money"></param>
- public delegate void UnitGotMoneyHandler(InstanceUnit obj, int add_money);
- /// <summary>
- /// 单位和其他单位产生交互
- /// </summary>
- /// <param name="zone"></param>
- /// <param name="obj"></param>
- /// <param name="pickable"></param>
- public delegate void UnitPickUnitHandler(InstanceZone zone, InstanceUnit obj, InstanceUnit pickable);
- /// <summary>
- /// 单位脱战
- /// </summary>
- /// <param name="zone"></param>
- /// <param name="obj"></param>
- /// <param name="pickable"></param>
- public delegate void UnitOutBattleHandler(InstanceZone zone, InstanceUnit obj);
- /// <summary>
- /// 单位尝试检取道具监听,
- /// 返回False禁止检取
- /// </summary>
- /// <param name="zone"></param>
- /// <param name="unit"></param>
- /// <param name="item"></param>
- /// <returns></returns>
- public delegate bool TryPickItemHandler(InstanceZone zone, InstanceUnit unit, InstanceItem item);
- /// <summary>
- /// 单位完成采集道具
- /// </summary>
- /// <param name="zone"></param>
- /// <param name="unit"></param>
- /// <param name="item"></param>
- /// <returns></returns>
- public delegate bool FinishPickItemHandler(InstanceZone zone, InstanceUnit unit, InstanceItem item);
- /// <summary>
- /// 添加物品到场景
- /// </summary>
- /// <param name="zone"></param>
- /// <param name="item"></param>
- /// <param name="item_creater"></param>
- public delegate void ItemAddedHandler(InstanceZone zone, InstanceItem item, InstanceUnit item_creater);
- //----------------------------------------------------------------------------------------------------
- /// <summary>
- /// 玩家准备完毕
- /// </summary>
- /// <param name="player"></param>
- public delegate void PlayerReadyHandler(InstancePlayer player);
- /// <summary>
- /// 【服务端】任务已接受
- /// </summary>
- /// <param name="player"></param>
- /// <param name="quest"></param>
- public delegate void QuestAcceptedHandler(InstancePlayer player, string quest);
- /// <summary>
- /// 【服务端】任务已提交
- /// </summary>
- /// <param name="player"></param>
- /// <param name="quest"></param>
- public delegate void QuestCommittedHandler(InstancePlayer player, string quest);
- /// <summary>
- /// 【服务端】任务已放弃
- /// </summary>
- /// <param name="player"></param>
- /// <param name="quest"></param>
- public delegate void QuestDroppedHandler(InstancePlayer player, string quest);
- /// <summary>
- /// 【服务端】任务状态已更新
- /// </summary>
- /// <param name="player"></param>
- /// <param name="quest"></param>
- /// <param name="key"></param>
- /// <param name="value"></param>
- public delegate void QuestStatusChangedHandler(InstancePlayer player, string quest, string key, string value);
- //----------------------------------------------------------------------------------------------------
- private UpdateHandler mOnUpdate;
- private InitHandler mOnInit;
- private ObjectPosChangedHandler mOnObjectPosChanged;
- private ObjectSpaceChangedHandler mOnObjectSpaceChanged;
- private ObjectAreaChangedHandler mOnObjectAreaChanged;
- private PostEventHandler mOnPostEvent;
- private SendMessageB2RHandler mOnSendToGS;
- private RecvMessageR2BHandler mOnRecvFromGS;
- private SendEventB2RHandler mOnSendMessageB2REvent;
- private UnitActivatedHandler mOnUnitActivated;
- private UnitAddedHandler mOnUnitAdded;
- private UnitRemovedHandler mOnUnitRemoved;
- private ItemRemovedHandler mOnItemRemoved;
- private UnitLaunchSkillHandler mOnUnitLaunchSkill;
- private UnitDeadHandler mOnUnitDead;
- private UnitDamageHandler mOnUnitDamage;
- private UnitRebirthHandler mOnUnitRebirth;
- private UnitGotInstanceItemHandler mOnUnitGotInstanceItem;
- private UnitGotInventoryItemHandler mOnUnitGotInventoryItem;
- private UnitLostInventoryItemHandler mOnUnitLostInventoryItem;
- private UnitUseItemHandler mOnUnitUseItem;
- private UnitGotBuffHandler mOnUnitGotBuff;
- private UnitLostBuffHandler mOnUnitLostBuff;
- private UnitGotMoneyHandler mOnUnitGotMoney;
- private UnitPickUnitHandler mOnUnitPickUnit;
- private UnitOutBattleHandler mOnUnitOutBattle;
- private GameOverHandler mOnGameOver;
- private OnHandleObjectActionHandler mOnHandleObjectAction;
- private OnHandleActionHandler mOnHandleAction;
- //是否可以加入单位
- private OnHandleTryAddUnit mTryAddUnit;
- private OnHandleTryAddItem mTryAddItem;
- private TryPickItemHandler mTryPickItem;
- private FinishPickItemHandler mFinishPickItem;
- private ItemAddedHandler mItemAdded;
- private PlayerReadyHandler mPlayerReady;
- private QuestAcceptedHandler mOnQuestAccepted;
- private QuestCommittedHandler mOnQuestCommitted;
- private QuestDroppedHandler mOnQuestDropped;
- private QuestStatusChangedHandler mOnQuestStatusChanged;
- protected virtual void ClearEvents()
- {
- this.mOnUpdate = null;
- this.mOnInit = null;
- this.mOnObjectPosChanged = null;
- this.mOnObjectSpaceChanged = null;
- this.mOnObjectAreaChanged = null;
- this.mOnPostEvent = null;
- this.mOnSendToGS = null;
- this.mOnRecvFromGS = null;
- this.mOnSendMessageB2REvent = null;
- this.mOnUnitActivated = null;
- this.mOnUnitAdded = null;
- this.mOnUnitRemoved = null;
- this.mOnItemRemoved = null;
- this.mOnUnitDead = null;
- this.mOnUnitDamage = null;
- this.mOnUnitRebirth = null;
- this.mOnUnitGotInstanceItem = null;
- this.mOnUnitGotInventoryItem = null;
- this.mOnUnitLostInventoryItem = null;
- this.mOnUnitUseItem = null;
- this.mOnUnitGotBuff = null;
- this.mOnUnitLostBuff = null;
- this.mOnUnitGotMoney = null;
- this.mOnUnitPickUnit = null;
- this.mOnGameOver = null;
- this.mOnHandleObjectAction = null;
- this.mOnHandleAction = null;
- this.mTryPickItem = null;
- this.mFinishPickItem = null;
- this.mItemAdded = null;
- this.mPlayerReady = null;
- this.mOnQuestAccepted = null;
- this.mOnQuestCommitted = null;
- this.mOnQuestDropped = null;
- this.mOnQuestStatusChanged = null;
- }
- //----------------------------------------------------------------------------------------------------
- public event UpdateHandler OnUpdate { add { mOnUpdate += value; } remove { mOnUpdate -= value; } }
- [EventTriggerDescAttribute("场景初始化时触发")]
- public event InitHandler OnInit { add { mOnInit += value; } remove { mOnInit -= value; } }
- [EventTriggerDescAttribute("单位位置发生变化时触发")]
- public event ObjectPosChangedHandler OnObjectPosChanged { add { mOnObjectPosChanged += value; } remove { mOnObjectPosChanged -= value; } }
- [EventTriggerDescAttribute("单位空间分割发生变化时触发")]
- public event ObjectSpaceChangedHandler OnObjectSpaceChanged { add { mOnObjectSpaceChanged += value; } remove { mOnObjectSpaceChanged -= value; } }
- [EventTriggerDescAttribute("单位Area发生变化时触发")]
- public event ObjectAreaChangedHandler OnObjectAreaChanged { add { mOnObjectAreaChanged += value; } remove { mOnObjectAreaChanged -= value; } }
- [EventTriggerDescAttribute("场景推送消息时触发")]
- public event PostEventHandler OnPostEvent { add { mOnPostEvent += value; } remove { mOnPostEvent -= value; } }
- [EventTriggerDescAttribute("【战斗服->游戏服】已发送字符串消息")]
- public event SendMessageB2RHandler OnSendMessageToGS { add { mOnSendToGS += value; } remove { mOnSendToGS -= value; } }
- [EventTriggerDescAttribute("【游戏服->战斗服】已接收字符串消息")]
- public event RecvMessageR2BHandler OnRecvMessageFromGS { add { mOnRecvFromGS += value; } remove { mOnRecvFromGS -= value; } }
- [EventTriggerDescAttribute("【战斗服->游戏服】发送自定义事件")]
- public event SendEventB2RHandler OnSendEventB2R { add { mOnSendMessageB2REvent += value; } remove { mOnSendMessageB2REvent -= value; } }
- [EventTriggerDescAttribute("当单位可攻击时触发,如果单位有出生动画,则动画完结后触发。")]
- public event UnitActivatedHandler OnUnitActivated { add { mOnUnitActivated += value; } remove { mOnUnitActivated -= value; } }
- [EventTriggerDescAttribute("单位进入触发")]
- public event UnitAddedHandler OnUnitAdded { add { mOnUnitAdded += value; } remove { mOnUnitAdded -= value; } }
- [EventTriggerDescAttribute("单位移除触发")]
- public event UnitRemovedHandler OnUnitRemoved { add { mOnUnitRemoved += value; } remove { mOnUnitRemoved -= value; } }
- [EventTriggerDescAttribute("物品移除触发")]
- public event ItemRemovedHandler OnItemRemoved { add { mOnItemRemoved += value; } remove { mOnItemRemoved -= value; } }
- [EventTriggerDescAttribute("单位死亡触发")]
- public event UnitDeadHandler OnUnitDead { add { mOnUnitDead += value; } remove { mOnUnitDead -= value; } }
- [EventTriggerDescAttribute("单位受到攻击触发")]
- public event UnitDamageHandler OnUnitDamage { add { mOnUnitDamage += value; } remove { mOnUnitDamage -= value; } }
- [EventTriggerDescAttribute("单位复活触发")]
- public event UnitRebirthHandler OnUnitRebirth { add { mOnUnitRebirth += value; } remove { mOnUnitRebirth -= value; } }
- [EventTriggerDescAttribute("单位释放技能")]
- public event UnitLaunchSkillHandler OnUnitLaunchSkill { add { mOnUnitLaunchSkill += value; } remove { mOnUnitLaunchSkill -= value; } }
- [EventTriggerDescAttribute("单位获取物品")]
- public event UnitGotInstanceItemHandler OnUnitGotInstanceItem { add { mOnUnitGotInstanceItem += value; } remove { mOnUnitGotInstanceItem -= value; } }
- [EventTriggerDescAttribute("单位获取背包物品")]
- public event UnitGotInventoryItemHandler OnUnitGotInventoryItem { add { mOnUnitGotInventoryItem += value; } remove { mOnUnitGotInventoryItem -= value; } }
- [EventTriggerDescAttribute("单位丢失背包物品")]
- public event UnitLostInventoryItemHandler OnUnitLostInventoryItem { add { mOnUnitLostInventoryItem += value; } remove { mOnUnitLostInventoryItem -= value; } }
- [EventTriggerDescAttribute("单位使用道具")]
- public event UnitUseItemHandler OnUnitUseItem { add { mOnUnitUseItem += value; } remove { mOnUnitUseItem -= value; } }
- [EventTriggerDescAttribute("单位中BUFF")]
- public event UnitGotBuffHandler OnUnitGotBuff { add { mOnUnitGotBuff += value; } remove { mOnUnitGotBuff -= value; } }
- [EventTriggerDescAttribute("单位失去BUFF")]
- public event UnitLostBuffHandler OnUnitLostBuff { add { mOnUnitLostBuff += value; } remove { mOnUnitLostBuff -= value; } }
- [EventTriggerDescAttribute("单位获得金币")]
- public event UnitGotMoneyHandler OnUnitGotMoney { add { mOnUnitGotMoney += value; } remove { mOnUnitGotMoney -= value; } }
- [EventTriggerDescAttribute("单位和其他单位产生交互")]
- public event UnitPickUnitHandler OnUnitPickUnit { add { mOnUnitPickUnit += value; } remove { mOnUnitPickUnit -= value; } }
- [EventTriggerDescAttribute("单位脱战")]
- public event UnitOutBattleHandler OnUnitOutBattle { add { mOnUnitOutBattle += value; } remove { mOnUnitOutBattle -= value; } }
-
- [EventTriggerDescAttribute("收到游戏结束事件")]
- public event GameOverHandler OnGameOver { add { mOnGameOver += value; } remove { mOnGameOver -= value; } }
- [EventTriggerDescAttribute("收到客户端输入的动作")]
- public event OnHandleObjectActionHandler OnHandleObjectAction { add { mOnHandleObjectAction += value; } remove { mOnHandleObjectAction -= value; } }
- [EventTriggerDescAttribute("收到场景输入的动作(通常是游戏服)")]
- public event OnHandleActionHandler OnHandleAction { add { mOnHandleAction += value; } remove { mOnHandleAction -= value; } }
- [EventTriggerDescAttribute("单位尝试检取采集道具,返回False禁止检取")]
- public event TryPickItemHandler OnTryPickItem { add { mTryPickItem += value; } remove { mTryPickItem -= value; } }
- [EventTriggerDescAttribute("单位完成采集道具")]
- public event FinishPickItemHandler OnFinishPickItem { add { mFinishPickItem += value; } remove { mFinishPickItem -= value; } }
- [EventTriggerDescAttribute("添加物品单位到场景")]
- public event ItemAddedHandler OnItemAdded { add { mItemAdded += value; } remove { mItemAdded -= value; } }
- [EventTriggerDescAttribute("玩家准备完毕")]
- public event PlayerReadyHandler OnPlayerReady { add { mPlayerReady += value; } remove { mPlayerReady -= value; } }
- [EventTriggerDescAttribute("单位尝试加入到场景")]
- public event OnHandleTryAddUnit OnTryAddUnit { add { mTryAddUnit += value; } remove { mTryAddUnit -= value; } }
- [EventTriggerDescAttribute("物品尝试加入到场景")]
- public event OnHandleTryAddItem OnTryAddItem { add { mTryAddItem += value; } remove { mTryAddItem -= value; } }
- [EventTriggerDescAttribute("【游戏服->战斗服】任务已接受")]
- public event QuestAcceptedHandler OnQuestAccepted { add { mOnQuestAccepted += value; } remove { mOnQuestAccepted -= value; } }
- [EventTriggerDescAttribute("【游戏服->战斗服】任务已提交")]
- public event QuestCommittedHandler OnQuestCommitted { add { mOnQuestCommitted += value; } remove { mOnQuestCommitted -= value; } }
- [EventTriggerDescAttribute("【游戏服->战斗服】任务已放弃")]
- public event QuestDroppedHandler OnQuestDropped { add { mOnQuestDropped += value; } remove { mOnQuestDropped -= value; } }
- [EventTriggerDescAttribute("【游戏服->战斗服】任务状态已更新")]
- public event QuestStatusChangedHandler OnQuestStatusChanged { add { mOnQuestStatusChanged += value; } remove { mOnQuestStatusChanged -= value; } }
- }
- }
|