123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- using UnityEngine;
- using System.Collections;
- using System.Collections.Generic;
- using YLTask;
- using GameFramework.Event;
- using UnityGameFramework.Runtime;
- /// <summary>
- /// 任务事件处理者 修改器
- /// </summary>
- public partial class TaskEventProcessor
- {
- private void InitModifier()
- {
- _TaskEventDict.Add(Enum_EventType.TaskCardActived + Enum_TaskCmdType.FinishTaskCard_ID.ToString(), StartTaskCard);
- _TaskEventDict.Add(Enum_EventType.MissionStepProcess + Enum_TaskCmdType.FinishTaskCard_ID.ToString(), UpdateTaskCard);
- _TaskEventDict.Add(Enum_EventType.MissionStepComplete + Enum_TaskCmdType.FinishTaskCard_ID.ToString(), FinishTaskCard);
- _TaskEventDict.Add(Enum_EventType.TaskCardActived + Enum_TaskCmdType.DrawSysMail_ID.ToString(), StartTaskCard);
- _TaskEventDict.Add(Enum_EventType.MissionStepProcess + Enum_TaskCmdType.DrawSysMail_ID.ToString(), UpdateTaskCard);
- _TaskEventDict.Add(Enum_EventType.MissionStepComplete + Enum_TaskCmdType.DrawSysMail_ID.ToString(), FinishTaskCard);
- EventComponent eventCmpt = GameEntry.GetComponent<EventComponent>();
- eventCmpt.Subscribe(UserLvlUpEvent.EventId, UserLevelUpProcessor);
- eventCmpt.Subscribe(HeroLvlUpEvent.EventId, HeroLevelUpProcessor);
- eventCmpt.Subscribe(User_AddItemEvent.EventId, UserAddItemProcessor);
- eventCmpt.Subscribe(HeroTupoEvent.EventId, HeroTupoProcessor);
- }
- private void CleanMonifier()
- {
- EventComponent eventCmpt = GameEntry.GetComponent<EventComponent>();
- if (eventCmpt.Check(UserLvlUpEvent.EventId, UserLevelUpProcessor))
- {
- eventCmpt.Unsubscribe(UserLvlUpEvent.EventId, UserLevelUpProcessor);
- }
- if (eventCmpt.Check(HeroLvlUpEvent.EventId, HeroLevelUpProcessor))
- {
- eventCmpt.Unsubscribe(HeroLvlUpEvent.EventId, HeroLevelUpProcessor);
- }
- if (eventCmpt.Check(User_AddItemEvent.EventId, UserAddItemProcessor))
- {
- eventCmpt.Unsubscribe(User_AddItemEvent.EventId, UserAddItemProcessor);
- }
- if (eventCmpt.Check(HeroTupoEvent.EventId, HeroTupoProcessor))
- {
- eventCmpt.Unsubscribe(HeroTupoEvent.EventId, HeroTupoProcessor);
- }
- }
- /// <summary>
- /// 玩家获得新道具事件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- public void UserAddItemProcessor(object sender, GameEventArgs e)
- {
- var evt = e as User_AddItemEvent;
- if (null != evt)
- {
- // todo: add your code here
- if (evt.Item.IsWeapon)
- {
- // todo: 大解: 友盟统计: 获得武器 2021年9月13日19:08:21
- // 友盟统计: 武器获得
- AndroidInteractive.CallJavaFunction("onEvent", "e_weapon", "weapon_WeaponGet", evt.Item.typeId.ToString());
- }
- if (evt.Item.IsYanLing)
- {
- // todo: 大解: 友盟统计: 获得武器 2021年9月13日19:08:25
- // 友盟统计: 言灵获得
- AndroidInteractive.CallJavaFunction("onEvent", "e_yanling", "yanling_YanlingGet", evt.Item.typeId.ToString());
- }
- }
- }
- /// <summary>
- /// 玩家等级提升事件
- /// </summary>
- /// <param name="e"></param>
- public void UserLevelUpProcessor(object sender, GameEventArgs e)
- {
- var evt = e as UserLvlUpEvent;
- if (null != evt)
- {
- // 设置玩家名称
- AndroidInteractive.CallJavaFunction("SetPlayerLV", evt.newlvl.ToString());
- // 队列显示玩家升级
- PopupEffectQueueHelper.Instance.ShowEffect(ePopupEffectType.PlayerLvUp, evt.newlvl);
- // 友盟统计: 玩家等级
- AndroidInteractive.CallJavaFunction("onEvent", "e_player_lvlup", "lvl",evt.newlvl.ToString());
- }
- }
- /// <summary>
- /// 唤灵师等级提升事件
- /// </summary>
- /// <param name="e"></param>
- public void HeroLevelUpProcessor(object sender, GameEventArgs e)
- {
- var evt = e as HeroLvlUpEvent;
- if (null != evt)
- {
- //// 队列显示唤灵师升级
- //PopupEffectQueueHelper.Instance.ShowEffect(ePopupEffectType.HuanLingShiLvUp, "");
- //int power = evt.HeroVo.GetPower() - evt.PowerAdded;
- //int added = evt.PowerAdded;
- //string powerStr = "<color=#F6CF00>" + power.ToString() + "</color>";
- //string add = "<color=#ffffff> + </color>";
- //string addedStr = "<color=#00ff00>" + added.ToString() + "</color>";
- //// 队列显示战力提升
- //PopupEffectQueueHelper.Instance.ShowEffect(ePopupEffectType.PowerAdd, powerStr + add + addedStr);
- // 增加3D场景 升级特效
- ResourceHelper.Instance.LoadAssetBundle("juese_shengji", (ab) =>
- {
- if (ab != null )
- {
- GameObject obj = (GameObject)GameObject.Instantiate(ab.LoadAsset("juese_shengji"));
- obj.transform.parent = HeroPlayerController.Instance.m_Hero.transform;
- obj.transform.SetLocalPositionX(0);
- obj.transform.SetLocalPositionY(0);
- obj.transform.SetLocalPositionZ(0);
- }
- });
- // 升级UI特效
- UI_TipsWindow.ShowLevelUpEeffect(evt.HeroVo.level);
- }
- }
- /// <summary>
- /// 唤灵师突破事件
- /// </summary>
- /// <param name="e"></param>
- public void HeroTupoProcessor(object sender, GameEventArgs e)
- {
- var evt = e as HeroTupoEvent;
- if (null != evt)
- {
- //// 队列显示唤灵师升级
- //PopupEffectQueueHelper.Instance.ShowEffect(ePopupEffectType.HuanLingShiLvUp, "");
- //// 队列显示战力提升
- //PopupEffectQueueHelper.Instance.ShowEffect(ePopupEffectType.PowerAdd,"星级增加至"+ evt.star+"星");
- }
- }
- /// <summary>
- /// 开始动作 剧情对话
- /// </summary>
- public void StartTaskCard(GameEventArgs e)
- {
- //TaskCardEventAtive start = e as TaskCardEventAtive;
- //TaskCardVo cvo = start.cardVo;
- //List<Ins_TaskStepVo> svo = cvo.curSteps;
- //foreach (var item in svo)
- //{
- // if (item.ShouldDoStartAction())
- // {
- // List<int> paramList = item.mo().StartAction.ParamList;
- // int npdID = paramList[0];
- // int stageID = paramList[1];
- // PanelHelper.Instance.ShowPanel("UI_TaskDialogWindow", panel =>
- // {
- // panel.GetComponent<UI_TaskDialogWindow>().Init(0, npdID, stageID, npdID + "_" + stageID + "_" + 0, 0, null);
- // });
- // break;
- // }
- //}
- }
- public void UpdateTaskCard(GameEventArgs e)
- {
- TaskEventStepProcess process = e as TaskEventStepProcess;
- }
- /// <summary>
- /// 完成动作 剧情对话
- /// </summary>
- public void FinishTaskCard(GameEventArgs e)
- {
- TaskEventStepFinish finish = e as TaskEventStepFinish;
- TaskCardVo cvo = finish.cardVo;
- Ins_TaskStepVo svo = finish.stepVo;
- if (svo.ShouldDoFinishAction())
- {
- List<int> paramList = svo.mo().FinishAction.ParamList;
- int npdID = paramList[0];
- int stageID = paramList[1];
- PanelHelper.Instance.ShowPanel("UI_TaskDialogWindow", panel =>
- {
- panel.GetComponent<UI_TaskDialogWindow>().Init(0, npdID, stageID, npdID + "_" + stageID + "_" + 0, 0, null);
- });
- }
- // 更新任务追踪信息
- UI_TaskTracking.UpdateTaskInfo();
- }
- }
|