using UnityEngine; using System.Collections; using System.Collections.Generic; using YLTask; using GameFramework.Event; using UnityGameFramework.Runtime; /// /// 任务事件处理者 修改器 /// 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(); 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(); 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); } } /// /// 玩家获得新道具事件 /// /// /// 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()); } } } /// /// 玩家等级提升事件 /// /// 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()); } } /// /// 唤灵师等级提升事件 /// /// 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 = "" + power.ToString() + ""; //string add = " + "; //string addedStr = "" + added.ToString() + ""; //// 队列显示战力提升 //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); } } /// /// 唤灵师突破事件 /// /// 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+"星"); } } /// /// 开始动作 剧情对话 /// public void StartTaskCard(GameEventArgs e) { //TaskCardEventAtive start = e as TaskCardEventAtive; //TaskCardVo cvo = start.cardVo; //List svo = cvo.curSteps; //foreach (var item in svo) //{ // if (item.ShouldDoStartAction()) // { // List paramList = item.mo().StartAction.ParamList; // int npdID = paramList[0]; // int stageID = paramList[1]; // PanelHelper.Instance.ShowPanel("UI_TaskDialogWindow", panel => // { // panel.GetComponent().Init(0, npdID, stageID, npdID + "_" + stageID + "_" + 0, 0, null); // }); // break; // } //} } public void UpdateTaskCard(GameEventArgs e) { TaskEventStepProcess process = e as TaskEventStepProcess; } /// /// 完成动作 剧情对话 /// public void FinishTaskCard(GameEventArgs e) { TaskEventStepFinish finish = e as TaskEventStepFinish; TaskCardVo cvo = finish.cardVo; Ins_TaskStepVo svo = finish.stepVo; if (svo.ShouldDoFinishAction()) { List paramList = svo.mo().FinishAction.ParamList; int npdID = paramList[0]; int stageID = paramList[1]; PanelHelper.Instance.ShowPanel("UI_TaskDialogWindow", panel => { panel.GetComponent().Init(0, npdID, stageID, npdID + "_" + stageID + "_" + 0, 0, null); }); } // 更新任务追踪信息 UI_TaskTracking.UpdateTaskInfo(); } }