public static bool checkCurTask(string[] arr) { int taskId = int.Parse(arr[1]); int taskState = int.Parse(arr[2]); TaskData taskData = A3_TaskModel.getInstance().GetTaskDataById(A3_TaskModel.getInstance().main_task_id); if (taskState == 0) { return(taskId == A3_TaskModel.getInstance().main_task_id);// && ! taskData.isComplete; } else { return(taskId == A3_TaskModel.getInstance().main_task_id);// && taskData.isComplete; } }
private void RunTimer() { Dictionary <int, TaskData> dicTask = A3_TaskModel.getInstance().GetDicTaskData(); List <int> idx = new List <int>(dicTask.Keys); bool isTiming = false; for (int i = 0; i < idx.Count; i++) { if (!taskOptElement.ContainsKey(idx[i])) { continue; } TaskOptElement tempElem = taskOptElement[idx[i]]; float endTime = dicTask[idx[i]].lose_tm, curTime = muNetCleint.instance.CurServerTimeStamp, duration = dicTask[idx[i]].release_tm; TaskData task = dicTask[idx[i]]; if (taskOptElement.ContainsKey(idx[i])) { long timeSpn = task.lose_tm - muNetCleint.instance.CurServerTimeStamp; bool isCurTiming = TaskTargetType.KILL_MONSTER_GIVEN == task.targetType && !task.isComplete && timeSpn > 0 && task.release_tm > timeSpn; if (isCurTiming) { tempElem.liteMinimapTaskTimer.gameObject.SetActive(true); tempElem.liteMinimapTaskTimer.text = GetSecByTime(task.lose_tm); taskOptElement[tempElem.taskId].Set(isTaskMonsterAlive: true); } else { taskOptElement[tempElem.taskId].Set(isTaskMonsterAlive: false); tempElem.liteMinimapTaskTimer.gameObject.SetActive(false); } isTiming |= isCurTiming; } } if (waitTime < 0) { CancelInvoke("RunTimer"); waitTime = 5f; return; } if (!isTiming) { waitTime--; } }
public static bool checkCurTask(string[] arr) { int num = int.Parse(arr[1]); int num2 = int.Parse(arr[2]); TaskData taskDataById = ModelBase <A3_TaskModel> .getInstance().GetTaskDataById(ModelBase <A3_TaskModel> .getInstance().main_task_id); bool flag = num2 == 0; bool result; if (flag) { result = (num == ModelBase <A3_TaskModel> .getInstance().main_task_id); } else { result = (num == ModelBase <A3_TaskModel> .getInstance().main_task_id); } return(result); }
private void OnOptionBtnClick(GameObject go) { dialog.next(); int taskId = 0; bool flag = int.TryParse(go.name, out taskId); if (flag) { List <string> dialogkDesc = this.tkModel.GetDialogkDesc(taskId); this.tkModel.curTask = this.tkModel.GetTaskDataById(taskId); dialog.showTalk(dialogkDesc, null, dialog.m_npc, false); } else { string name = go.name; bool flag2 = name == "a3_npc_shop"; if (flag2) { List <SXML> sXMLList = XMLMgr.instance.GetSXMLList("npc_shop.npc_shop", "npc_id==" + this.npc_id); ModelBase <A3_NPCShopModel> .getInstance().listNPCShop.Clear(); ModelBase <A3_NPCShopModel> .getInstance().listNPCShop = sXMLList; BaseProxy <A3_NPCShopProxy> .getInstance().sendShowFloat((uint)sXMLList[0].getInt("shop_id")); } bool flag3 = name == "a3_legion_dart"; if (flag3) { bool flag4 = ModelBase <A3_LegionModel> .getInstance().myLegion.id == 0; if (flag4) { flytxt.instance.fly("您当前没有军团", 0, default(Color), null); return; } } InterfaceMgr.getInstance().open(name, null, false); } }
private bool Execute(TaskData taskData, bool checkNextStep, bool checkItems, bool clickAuto) { if (taskData.taskT == TaskType.CLAN && A3_LegionModel.getInstance().myLegion.id == 0) { flytxt.instance.fly(ContMgr.getCont("a3_task_auto_nocy")); return(false); } //这里将任务的自动改成只读配置表(待测试) bool forceMove = taskData.next_step; if (forceMove || clickAuto) { if (SelfRole.fsm.Autofighting) { SelfRole.fsm.Stop(); StateInit.Instance.Origin = Vector3.zero; } } else { return(false); } int npcId = 0; int mapId = 0; int posX = 0; int posY = 0; SXML taskXml = XMLMgr.instance.GetSXML("task.Task", "id==" + taskData.taskId); if (taskXml == null) { debug.Log("任务Id错误::" + taskData.taskId); return(false); } if (taskData.isComplete && taskData.taskT != TaskType.DAILY) { if (taskXml.getInt("complete_way") == 3) { A3_TaskProxy.getInstance().SendGetAward(); return(true); } npcId = taskXml.getInt("complete_npc_id"); SXML npcsXml = XMLMgr.instance.GetSXML("npcs.npc", "id==" + npcId); if (npcsXml != null) { mapId = npcsXml.getInt("map_id"); } List <string> listDialog = new List <string>(); string strDialog = taskXml.getString("complete_dialog"); strDialog = GameFramework.StringUtils.formatText(strDialog); string[] listTempDia = strDialog.Split(';'); listDialog = listTempDia.ToList <string>(); tarNpcId = npcId; //if(forceMove) //InterfaceMgr.getInstance().open(InterfaceMgr.TRANSMIT_PANEL, (ArrayList)new TransmitData //{ // mapId = mapId, // check_beforeShow = true, // handle_customized_afterTransmit = () => SelfRole.moveToNPc(mapId, npcId, listDialog, OnTalkWithNpc) //}); if (!PlayerModel.getInstance().inFb&& mapId != GRMap.instance.m_nCurMapID && MapModel.getInstance().dicMappoint.ContainsKey(mapId) && MapModel.getInstance().dicMappoint[mapId] != GRMap.instance.m_nCurMapID) { SelfRole.Transmit(toid: MapModel.getInstance().dicMappoint[mapId], after: () => SelfRole.moveToNPc(mapId, npcId, listDialog, OnTalkWithNpc, taskmove: true), taskTrans: true); } else { SelfRole.moveToNPc(mapId, npcId, listDialog, OnTalkWithNpc, taskmove: true); } } else { mapId = taskXml.getInt("tasking_map_id"); posX = taskXml.getInt("target_coordinate_x"); posY = taskXml.getInt("target_coordinate_y"); float mapY = taskXml.getFloat("map_y"); mapY = (mapY == -1 ? 0 : mapY); Vector3 pos = new Vector3(posX, mapY, posY); switch (taskData.targetType) { case TaskTargetType.DODAILY: /*页面切换到每日任务*/ ArrayList arr = new ArrayList(); var tasks = A3_TaskModel.getInstance().GetDicTaskData(); bool hasDailyTask = false; int i = 0; for (List <int> idx = new List <int>(tasks.Keys); i < tasks.Count; i++) { if (hasDailyTask = tasks[idx[i]].taskT == TaskType.DAILY) { break; } } if (hasDailyTask /*tasks.Count(v => v.Value.taskT == TaskType.DAILY) > 0*/) { List <int> k = tasks.Keys.ToList(); for (i = 0; i < k.Count; i++) { if (tasks[k[i]].taskT == TaskType.DAILY) { arr.Add(tasks[k[i]].taskId); } } InterfaceMgr.getInstance().ui_async_open(InterfaceMgr.A3_TASK, arr); //MonsterMgr._inst.taskMonId = XMLMgr.instance.GetSXML("task.Task", "id==" + taskData.taskId)?.getInt("target_param2") ?? 0; } break; case TaskTargetType.FRIEND: /*关闭当前页面,弹出好友页面*/ if (a3_liteMinimap.instance) { a3_liteMinimap.instance.ZidongTask = false; } arr = new ArrayList(); arr.Add(1 /* index of friend panel*/); InterfaceMgr.getInstance().ui_async_open(InterfaceMgr.A3_SHEJIAO, arr); break; case TaskTargetType.WING: /*关闭当前页面,弹出飞翼页面*/ if (a3_liteMinimap.instance) { a3_liteMinimap.instance.ZidongTask = false; } InterfaceMgr.getInstance().ui_async_open(InterfaceMgr.A3_WIBG_SKIN); break; case TaskTargetType.GETEXP: /*卡级任务、转生任务*/ debug.Log("当前是转生等级任务"); StateAutoMoveToPos.Instance.stopdistance = 0.3f; int zs = int.Parse(taskXml.getString("target_param2").Split(',')[0]); int ls = int.Parse(taskXml.getString("target_param2").Split(',')[1]); int trriger_type = int.Parse(taskXml.getString("trigger")); if (trriger_type == 1) { if (a3_liteMinimap.instance) { a3_liteMinimap.instance.ZidongTask = false; } InterfaceMgr.getInstance().ui_async_open(InterfaceMgr.A3_WANTLVUP); } else { bool b = true; int pp = PlayerModel.getInstance().profession; uint pl = PlayerModel.getInstance().lvl; uint pz = PlayerModel.getInstance().up_lvl; uint exp = PlayerModel.getInstance().exp; uint needExp = ResetLvLModel.getInstance().getNeedExpByCurrentZhuan(pp, pz); uint needLvL = ResetLvLModel.getInstance().getNeedLvLByCurrentZhuan(pp, pz); if (pz >= 10) { break; //10转之后无法再次转生 } if (needLvL > pl) { b = false; } if (b) { npcId = XMLMgr.instance.GetSXML("task.zhuan_npc").getInt("id"); SXML npcsXml = XMLMgr.instance.GetSXML("npcs.npc", "id==" + npcId); if (npcsXml != null) { mapId = npcsXml.getInt("map_id"); } List <string> listDialog = new List <string>(); string strDialog = taskXml.getString("target_dialog"); strDialog = GameFramework.StringUtils.formatText(strDialog); string[] listTempDia = strDialog.Split(';'); listDialog = listTempDia.ToList <string>(); //if (GRMap.instance != null) //{ // InterfaceMgr.getInstance().open(InterfaceMgr.TRANSMIT_PANEL, (ArrayList)new TransmitData // { // mapId = mapId, // check_beforeShow = true, // handle_customized_afterTransmit = () => SelfRole.moveToNPc(mapId, npcId, listDialog, OnTalkWithNpc) // }); //} if (!PlayerModel.getInstance().inFb&& mapId != GRMap.instance.m_nCurMapID && MapModel.getInstance().dicMappoint.ContainsKey(mapId) && MapModel.getInstance().dicMappoint[mapId] != GRMap.instance.m_nCurMapID) { SelfRole.Transmit(toid: MapModel.getInstance().dicMappoint[mapId], after: () => SelfRole.moveToNPc(mapId, npcId, listDialog, OnTalkWithNpc, taskmove: true), taskTrans: true); } else { SelfRole.moveToNPc(mapId, npcId, listDialog, OnTalkWithNpc, taskmove: true); } //InterfaceMgr.getInstance().open(InterfaceMgr.A3_RESETLVL); } else { if (a3_liteMinimap.instance) { a3_liteMinimap.instance.ZidongTask = false; } InterfaceMgr.getInstance().ui_async_open(InterfaceMgr.A3_WANTLVUP); } } break; case TaskTargetType.VISIT: /*访问(无条件)*/ { StateAutoMoveToPos.Instance.stopdistance = 2f; npcId = taskXml.getInt("target_param2"); SXML npcsXml = XMLMgr.instance.GetSXML("npcs.npc", "id==" + npcId); if (npcsXml != null) { mapId = npcsXml.getInt("map_id"); } List <string> listDialog = new List <string>(); string strDialog = taskXml.getString("target_dialog"); strDialog = GameFramework.StringUtils.formatText(strDialog); string[] listTempDia = strDialog.Split(';'); listDialog = listTempDia.ToList <string>(); tarNpcId = npcId; if (GRMap.instance != null) { //InterfaceMgr.getInstance().open(InterfaceMgr.TRANSMIT_PANEL, (ArrayList)new TransmitData //{ // mapId = mapId, // check_beforeShow = true, // handle_customized_afterTransmit = () => SelfRole.moveToNPc(mapId, npcId, listDialog, OnTalkWithNpc) //}); if (!PlayerModel.getInstance().inFb&& mapId != GRMap.instance.m_nCurMapID && MapModel.getInstance().dicMappoint.ContainsKey(mapId) && MapModel.getInstance().dicMappoint[mapId] != GRMap.instance.m_nCurMapID) { SelfRole.Transmit(toid: MapModel.getInstance().dicMappoint[mapId], after: () => SelfRole.moveToNPc(mapId, npcId, listDialog, OnTalkWithNpc, taskmove: true), taskTrans: true); } else { SelfRole.moveToNPc(mapId, npcId, listDialog, OnTalkWithNpc, taskmove: true); } } } break; case TaskTargetType.KILL: /*杀怪类*/ //StateAutoMoveToPos.Instance.stopdistance = 2.0f; SelfRole.UnderTaskAutoMove = true; onTaskSearchMon = taskData.taskT == TaskType.MAIN; int _taskId; if (PlayerModel.getInstance().task_monsterId.ContainsKey(taskData.taskId)) { if (!PlayerModel.getInstance().task_monsterIdOnAttack.ContainsKey(taskData.taskId)) { PlayerModel.getInstance().task_monsterIdOnAttack.Add( key: taskData.taskId, value: PlayerModel.getInstance().task_monsterId[taskData.taskId] ); } PlayerModel.getInstance().task_monsterId.Remove(taskData.taskId); _taskId = taskData.taskId; } else { _taskId = A3_TaskModel.getInstance().GetTaskXML().GetNode("Task", "id==" + taskData.taskId).getInt("target_param2"); PlayerModel.getInstance().task_monsterIdOnAttack.Add( key: taskData.taskId, value: _taskId ); } SXML _taskXml = XMLMgr.instance.GetSXML("task.Task", "id==" + taskData.taskId); //InterfaceMgr.getInstance().open(InterfaceMgr.TRANSMIT_PANEL, (ArrayList)new TransmitData //{ // mapId = mapId, // check_beforeShow = true, // handle_customized_afterTransmit = () => // { // Vector3 fightOrigin = pos; // StateInit.Instance.Origin = fightOrigin; // SelfRole.moveto(mapId, pos, () => // { // SelfRole.fsm.StartAutofight(); // MonsterMgr._inst.taskMonId = _taskXml.getInt("target_param2"); // }, stopDis: 2.0f); // } //}); Action afterTransmit = () => { Vector3 fightOrigin = pos; StateInit.Instance.Origin = fightOrigin; SelfRole.moveto(mapId, pos, () => { SelfRole.fsm.StartAutofight(); MonsterMgr._inst.taskMonId = _taskXml.getInt("target_param2"); }, stopDis: 2.0f, taskmove: true); }; if (!PlayerModel.getInstance().inFb&& mapId != GRMap.instance.m_nCurMapID && MapModel.getInstance().dicMappoint.ContainsKey(mapId) && MapModel.getInstance().dicMappoint[mapId] != GRMap.instance.m_nCurMapID) { SelfRole.Transmit(toid: MapModel.getInstance().dicMappoint[mapId], after: afterTransmit, taskTrans: true); } else { SelfRole.WalkToMap(mapId, pos, afterTransmit, taskmove: true); } break; case TaskTargetType.COLLECT: //Action afterTransmit_collect = () => //{ // StateAutoMoveToPos.Instance.stopdistance = 0.3f; // SelfRole.moveto(mapId, pos, () => SelfRole.fsm.StartAutoCollect()); //}; Action afterTransmit_collect = () => SelfRole.WalkToMap(mapId, pos, SelfRole.fsm.StartAutoCollect, taskmove: true); if (!PlayerModel.getInstance().inFb&& mapId != GRMap.instance.m_nCurMapID && MapModel.getInstance().dicMappoint.ContainsKey(mapId) && MapModel.getInstance().dicMappoint[mapId] != GRMap.instance.m_nCurMapID) { SelfRole.Transmit(toid: MapModel.getInstance().dicMappoint[mapId], after: afterTransmit_collect, taskTrans: true); } else { afterTransmit_collect(); } break; case TaskTargetType.FB: if (a3_liteMinimap.instance) { a3_liteMinimap.instance.ZidongTask = false; } int fbid = taskXml.getInt("target_param2"); //StateAutoMoveToPos.Instance.stopdistance = 0.3f; if (GRMap.instance.m_nCurMapID == mapId || GameRoomMgr.getInstance().curRoom is PlotRoom) { SelfRole.moveto(mapId, pos, () => SelfRole.fsm.StartAutofight(), stopDis: 2.0f, taskmove: true /* 副本中开始战斗的停止距离 */); } else { Variant sendData = new Variant(); sendData["npcid"] = 0; sendData["ltpid"] = fbid; sendData["diff_lvl"] = 1; int levelinfoid = taskXml.getInt("level_info"); var tainf = XMLMgr.instance.GetSXML("task.level_info", "id==" + levelinfoid); bool guide = (taskXml.getInt("guide") == 1); int type = taskXml.getInt("level_yw"); if (type == 1) { MsgBoxMgr.getInstance().showTask_fb_confirm(tainf.getString("title"), tainf.getString("desc"), guide, a3_ygyiwuModel.getInstance().GetYiWu_God(a3_ygyiwuModel.getInstance().nowGod_id).need_zdl, () => LevelProxy.getInstance().sendCreate_lvl(sendData)); } else { MsgBoxMgr.getInstance().showTask_fb_confirm(tainf.getString("title"), tainf.getString("desc"), guide, () => LevelProxy.getInstance().sendCreate_lvl(sendData)); } } break; case TaskTargetType.WAIT_POINT_GIVEN: /*在指定区域读条*/ case TaskTargetType.GET_ITEM_GIVEN: /*收集指定道具*/ case TaskTargetType.KILL_MONSTER_GIVEN: /*打指定怪物*/ DealByType(taskData, checkItems); break; } SXML _taskXML = XMLMgr.instance.GetSXML("task.Task", "id==" + taskData.taskId); if (SelfRole.UnderTaskAutoMove = taskData.targetType == TaskTargetType.KILL) { StateAutoMoveToPos.Instance.stopdistance = 2.0f; Vector3 fightOrigin = new Vector3( x: _taskXML.getInt("target_coordinate_x"), y: 0, z: _taskXML.getInt("target_coordinate_y") ); StateInit.Instance.Origin = fightOrigin; } if (taskData.targetType == TaskTargetType.KILL || taskData.targetType == TaskTargetType.DODAILY) { int monId = _taskXML.getInt("target_param2"); if (monId != -1) { MonsterMgr._inst.taskMonId = monId; } } } return(true); }
private void DealByType(TaskData taskData, bool checkItems) { A3_TaskOpt.Instance.ResetStat(); A3_TaskOpt.Instance.Reset(alsoHideGameObject: true, resetCase: 0); TaskTargetType taskTargetType = taskData.targetType; TaskType taskType = taskData.taskT; if (A3_TaskOpt.Instance == null) { //Debug.LogError("请将A3_TaskOpt预制件默认设为Active"); return;// not init } if (!A3_TaskOpt.Instance.taskOptElement.ContainsKey(taskData.taskId)) { A3_TaskOpt.Instance.taskOptElement[taskData.taskId] = new TaskOptElement(taskData.taskId); } A3_TaskOpt.Instance.curTaskId = taskData.taskId; if (taskTargetType == TaskTargetType.WAIT_POINT_GIVEN /* || TaskTargetType.MESSAGE_GIVEN_POS == taskTargetType*/) { Vector3 waitPosition = Vector3.zero; var pointInfo = A3_TaskModel.getInstance().GetTaskXML().GetNode("Task", "id==" + taskData.taskId); //A3_TaskOpt.Instance.IsOnTaskWait = true; A3_TaskOpt.Instance.LockStat = false; if (A3_TaskOpt.Instance.isWaiting) { A3_TaskOpt.Instance.StopCD(); } A3_TaskOpt.Instance.BtnWait.interactable = true; A3_TaskOpt.Instance.waitPosition = new Vector3(pointInfo.getFloat("target_coordinate_x"), 0, pointInfo.getFloat("target_coordinate_y")); waitPosition = A3_TaskOpt.Instance.waitPosition; A3_TaskOpt.Instance.actionImage.sprite = GAMEAPI.ABUI_LoadSprite("icon_task_action_" + pointInfo.getInt("act_icon")); A3_TaskOpt.Instance.transform.FindChild("wait/action_text").GetComponent <Text>().text = pointInfo.getString("act_name"); #region PlayerModel.getInstance().task_monsterIdOnAttack[taskData.taskId] = pointInfo.getInt("target_param2"); //InterfaceMgr.getInstance().open(InterfaceMgr.TRANSMIT_PANEL, (ArrayList)new TransmitData //{ // mapId = pointInfo.getInt("tasking_map_id"), // check_beforeShow = true, // handle_customized_afterTransmit = () => SelfRole.WalkToMap(pointInfo.getInt("tasking_map_id"), // waitPosition), // targetPosition = waitPosition //}); int mapId = pointInfo.getInt("tasking_map_id"); if (MapModel.getInstance().dicMappoint.ContainsKey(mapId)) { int mapPoint = MapModel.getInstance().dicMappoint[mapId]; if (GRMap.instance.m_nCurMapID != mapId && GRMap.instance.m_nCurMapID != mapPoint) { SelfRole.Transmit(mapPoint, () => SelfRole.WalkToMap(mapId, waitPosition, taskmove: true), taskTrans: true); } else { SelfRole.WalkToMap(mapId, waitPosition, taskmove: true); } } } // endif wait given point else if (taskTargetType == TaskTargetType.KILL_MONSTER_GIVEN) { A3_TaskOpt.Instance.IsOnKillMon = true; Vector3 waitPosition = Vector3.zero; SXML monInfo = A3_TaskModel.getInstance().GetTaskXML().GetNode("Task", "id==" + taskData.taskId); if (monInfo != null) { //A3_TaskOpt.Instance.IsOnKillMon = true; A3_TaskOpt.Instance.LockStat = false; PlayerModel.getInstance().task_monsterIdOnAttack.Add(taskData.taskId, monInfo.getInt("target_param2")); A3_TaskOpt.Instance.killPosition = new Vector3(monInfo.getFloat("target_coordinate_x"), 0, monInfo.getFloat("target_coordinate_y")); waitPosition = A3_TaskOpt.Instance.killPosition; } //InterfaceMgr.getInstance().open(InterfaceMgr.TRANSMIT_PANEL, (ArrayList)new TransmitData //{ // mapId = monInfo.getInt("tasking_map_id"), // check_beforeShow = true, // handle_customized_afterTransmit = () => SelfRole.WalkToMap(monInfo.getInt("tasking_map_id"), // waitPosition), // targetPosition = waitPosition //}); int mapId = monInfo.getInt("tasking_map_id"); if (MapModel.getInstance().dicMappoint.ContainsKey(mapId)) { int mapPoint = MapModel.getInstance().dicMappoint[mapId]; if (GRMap.instance.m_nCurMapID != mapId && GRMap.instance.m_nCurMapID != mapPoint) { SelfRole.Transmit(mapPoint, () => SelfRole.WalkToMap(mapId, waitPosition, taskmove: true), taskTrans: true); } else { SelfRole.WalkToMap(mapId, waitPosition, taskmove: true); } } } // endif kill given monster else if (taskTargetType == TaskTargetType.GET_ITEM_GIVEN) { int holdNum = 0, needNum = 0; //A3_TaskOpt.Instance.IsOnTaskWait = true; Action uiHandle = null; NpcShopData npcShopData = null; SXML taskinfoGetItem = A3_TaskModel.getInstance().GetTaskXML().GetNode("Task", "id==" + taskData.taskId); A3_TaskOpt.Instance.taskItemId = taskinfoGetItem.getUint("target_param2"); needNum = taskData.completion - taskData.taskRate;//taskinfoGetItem.getInt("target_param1"); holdNum = a3_BagModel.getInstance().getItemNumByTpid(A3_TaskOpt.Instance.taskItemId); uiHandle = () => A3_TaskOpt.Instance?.ShowSubmitItem(); npcShopData = A3_NPCShopModel.getInstance().GetDataByItemId(A3_TaskOpt.Instance.taskItemId); if (holdNum >= needNum) { int npcId = taskinfoGetItem.getInt("complete_npc_id"); int mapId = taskinfoGetItem.getInt("tasking_map_id"); SXML npcInfo = XMLMgr.instance.GetSXML("npcs").GetNode("npc", "id==" + npcId); float mapY = npcInfo.getFloat("location_height"); if (mapY < 0) { mapY = 0; } Vector3 npcPos = new Vector3(npcInfo.getFloat("location_x") / GameConstant.GEZI_TRANS_UNITYPOS, mapY / GameConstant.GEZI_TRANS_UNITYPOS, npcInfo.getFloat("location_y") / GameConstant.GEZI_TRANS_UNITYPOS); //InterfaceMgr.getInstance().open(InterfaceMgr.TRANSMIT_PANEL, (ArrayList)new TransmitData //{ // mapId = mapId, // check_beforeShow = true, // handle_customized_afterTransmit = () => // { // SelfRole.WalkToMap(mapId, npcPos, handle: () => { A3_TaskOpt.Instance.ShowSubmitItem(); }, stopDis: 2f); // } //}); if (MapModel.getInstance().dicMappoint.ContainsKey(mapId)) { int mapPoint = MapModel.getInstance().dicMappoint[mapId]; if (GRMap.instance.m_nCurMapID != mapId && GRMap.instance.m_nCurMapID != mapPoint) { SelfRole.Transmit(mapPoint, () => SelfRole.WalkToMap(mapId, npcPos, () => { A3_TaskOpt.Instance.ShowSubmitItem(); }, 2f, taskmove: true), taskTrans: true); } else { SelfRole.WalkToMap(mapId, npcPos, () => { A3_TaskOpt.Instance.ShowSubmitItem(); }, 2f, taskmove: true); } } } else if (npcShopData != null) { //InterfaceMgr.getInstance().open(InterfaceMgr.TRANSMIT_PANEL, (ArrayList)new TransmitData //{ // mapId = npcShopData.mapId, // check_beforeShow = true, // handle_customized_afterTransmit = () => SelfRole.moveToNPc(npcShopData.mapId, npcShopData.npc_id) //}); int mapId = npcShopData.mapId; if (!PlayerModel.getInstance().inFb&& mapId != GRMap.instance.m_nCurMapID && MapModel.getInstance().dicMappoint.ContainsKey(mapId) && MapModel.getInstance().dicMappoint[mapId] != GRMap.instance.m_nCurMapID) { SelfRole.Transmit(toid: MapModel.getInstance().dicMappoint[mapId], after: () => SelfRole.moveToNPc(mapId, npcShopData.npc_id, taskmove: true), taskTrans: true); } else { SelfRole.moveToNPc(mapId, npcShopData.npc_id, taskmove: true); } } else { if (checkItems) { ArrayList data = new ArrayList(); data.Add(a3_BagModel.getInstance().getItemDataById(A3_TaskOpt.Instance.taskItemId)); //data.Add(null); InterfaceMgr.getInstance().ui_async_open(InterfaceMgr.A3_ITEMLACK, data); } } } // endif get given item #endregion }
private void OnShowAwardInfo() { this.bg_task.gameObject.SetActive(true); this.conOption.parent.gameObject.SetActive(false); TaskData curTask = this.curTask; TaskType taskT = curTask.taskT; Dictionary <uint, int> dictionary; if (taskT != TaskType.CLAN) { dictionary = this.tkModel.GetValueReward(curTask.taskId); } else { dictionary = this.tkModel.GetClanRewardDic(curTask.taskCount); } Dictionary <uint, int> itemReward = this.tkModel.GetItemReward(curTask.taskId); List <a3_BagItemData> equipReward = this.tkModel.GetEquipReward(curTask.taskId); bool guide = curTask.guide; if (guide) { this.btnNext.transform.FindChild("guide_task_info").gameObject.SetActive(true); } else { this.btnNext.transform.FindChild("guide_task_info").gameObject.SetActive(false); } bool flag = dictionary != null; if (flag) { bool flag2 = this.conIcon.childCount > 0; if (flag2) { for (int i = 0; i < this.conIcon.childCount; i++) { UnityEngine.Object.Destroy(this.conIcon.GetChild(i).gameObject); } } foreach (uint current in dictionary.Keys) { a3_ItemData itemDataById = ModelBase <a3_BagModel> .getInstance().getItemDataById(current); TaskType taskT2 = curTask.taskT; if (taskT2 != TaskType.CLAN) { itemDataById.file = "icon/comm/0x" + current; } else { itemDataById.file = "icon/comm/1x" + current; } GameObject gameObject = IconImageMgr.getInstance().createA3ItemIcon(itemDataById, false, dictionary[current], 0.8f, false, -1, 0, false, false, false, -1, false, false); Transform transform = gameObject.transform.FindChild("iconbor"); bool flag3 = transform != null; if (flag3) { transform.gameObject.SetActive(false); } GameObject gameObject2 = UnityEngine.Object.Instantiate <GameObject>(this.iconTemp); gameObject.transform.SetParent(gameObject2.transform.FindChild("icon"), false); gameObject2.transform.SetParent(this.conIcon, false); gameObject2.name = itemDataById.tpid.ToString(); gameObject2.SetActive(true); Image component = gameObject.GetComponent <Image>(); bool flag4 = component != null; if (flag4) { component.enabled = false; } } } bool flag5 = equipReward != null; if (flag5) { foreach (a3_BagItemData current2 in equipReward) { bool flag6 = !current2.isEquip; if (!flag6) { GameObject gameObject3 = IconImageMgr.getInstance().createA3ItemIcon(current2.id, false, -1, 0.8f, false, -1, 0, false, false, false, false); Transform transform2 = gameObject3.transform.FindChild("iconborder"); bool flag7 = transform2 != null; if (flag7) { transform2.gameObject.SetActive(false); } GameObject gameObject4 = UnityEngine.Object.Instantiate <GameObject>(this.iconTemp); gameObject3.transform.SetParent(gameObject4.transform.FindChild("icon"), false); gameObject4.transform.SetParent(this.conIcon, false); UnityEngine.Object arg_375_0 = gameObject4; uint tpid = current2.tpid; arg_375_0.name = tpid.ToString(); gameObject4.SetActive(true); Image component2 = gameObject3.GetComponent <Image>(); bool flag8 = component2 != null; if (flag8) { component2.enabled = false; } } } } bool flag9 = itemReward != null; if (flag9) { foreach (uint current3 in itemReward.Keys) { int num = itemReward[current3]; GameObject gameObject5 = IconImageMgr.getInstance().createA3ItemIcon(current3, true, num, 0.8f, false, -1, 0, false, false, false, false); Transform transform3 = gameObject5.transform.FindChild("iconborder"); bool flag10 = transform3 != null; if (flag10) { transform3.gameObject.SetActive(false); } GameObject gameObject6 = UnityEngine.Object.Instantiate <GameObject>(this.iconTemp); gameObject5.transform.SetParent(gameObject6.transform.FindChild("icon"), false); gameObject6.transform.SetParent(this.conIcon, false); gameObject6.name = current3.ToString(); gameObject6.SetActive(true); Image component3 = gameObject5.GetComponent <Image>(); bool flag11 = component3 != null; if (flag11) { component3.enabled = false; } } } }
private void OnLegion(Variant data) { int num = data["res"]; debug.Log("军团消息" + data.dump()); Variant variant = new Variant(); switch (num) { case 1: { bool flag = data.ContainsKey("id"); if (flag) { A3_LegionData a3_LegionData = default(A3_LegionData); a3_LegionData.id = data["id"]; a3_LegionData.lvl = data["lvl"]; a3_LegionData.clname = data["clname"]; a3_LegionData.name = data["name"]; a3_LegionData.notice = data["notice"]; a3_LegionData.gold = data["money"]; a3_LegionData.plycnt = data["plycnt"]; a3_LegionData.exp = data["clan_pt"]; bool flag2 = data.ContainsKey("ol_cnt"); if (flag2) { a3_LegionData.ol_cnt = data["ol_cnt"]; } bool flag3 = data.ContainsKey("combpt"); if (flag3) { a3_LegionData.combpt = data["combpt"]; } bool flag4 = data.ContainsKey("rankidx"); if (flag4) { a3_LegionData.rankidx = data["rankidx"]; } bool flag5 = data.ContainsKey("clanc"); if (flag5) { a3_LegionData.clanc = data["clanc"]; } a3_LegionData.anabasis_tm = data["anabasis_tm"]; ModelBase <A3_LegionModel> .getInstance().myLegion = a3_LegionData; int num2 = data["direct_join"]; ModelBase <A3_LegionModel> .getInstance().CanAutoApply = (num2 == 1); ModelBase <A3_LegionModel> .getInstance().SetMyLegion(a3_LegionData.lvl); ModelBase <A3_LegionModel> .getInstance().donate = data["donate"]; this.gold = a3_LegionData.gold; this.lvl = a3_LegionData.lvl; } else { ModelBase <A3_LegionModel> .getInstance().myLegion = default(A3_LegionData); } base.dispatchEvent(GameEvent.Create(1u, this, data, false)); break; } case 2: base.dispatchEvent(GameEvent.Create(2u, this, data, false)); base.removeEventListener(24u, new Action <GameEvent>(a3_legion.mInstance.SetCheckName)); break; case 3: { int num3 = data["clid"]; base.dispatchEvent(GameEvent.Create(3u, this, data, false)); flytxt.instance.fly("申请成功!", 0, default(Color), null); break; } case 4: base.dispatchEvent(GameEvent.Create(4u, this, data, false)); break; case 5: ModelBase <A3_LegionModel> .getInstance().myLegion.gold = data["money"]; ModelBase <A3_LegionModel> .getInstance().myLegion.lvl = data["lvl"]; ModelBase <A3_LegionModel> .getInstance().myLegion.exp = 0; ModelBase <A3_LegionModel> .getInstance().SetMyLegion(ModelBase <A3_LegionModel> .getInstance().myLegion.lvl); base.dispatchEvent(GameEvent.Create(1u, this, data, false)); flytxt.instance.fly("升级骑士团成功!", 0, default(Color), null); break; case 6: { int num4 = data["money"]; flytxt.instance.fly("获得了" + num4 / 1000 + "点贡献度", 0, default(Color), null); this.SendGetInfo(); break; } case 8: this.SendGetMember(); break; case 9: { ModelBase <A3_LegionModel> .getInstance().myLegion = default(A3_LegionData); base.dispatchEvent(GameEvent.Create(9u, this, data, false)); TaskData expr_4C9 = a3_task_auto.instance.executeTask; bool flag6 = expr_4C9 != null && expr_4C9.taskT == TaskType.CLAN; if (flag6) { SelfRole.fsm.Stop(); flytxt.instance.fly("你已退出军团无法继续进行任务", 0, default(Color), null); } else { flytxt.instance.fly("您已成功退出骑士团!", 0, default(Color), null); } break; } case 10: { int key = data["cid"]; bool flag7 = ModelBase <A3_LegionModel> .getInstance().members.ContainsKey(key); if (flag7) { ModelBase <A3_LegionModel> .getInstance().members.Remove(key); } base.dispatchEvent(GameEvent.Create(14u, this, data, false)); break; } case 11: { int num5 = data["direct_join"]; ModelBase <A3_LegionModel> .getInstance().CanAutoApply = (num5 == 1); base.dispatchEvent(GameEvent.Create(11u, this, data, false)); break; } case 12: base.dispatchEvent(GameEvent.Create(12u, this, data, false)); break; case 14: variant = data["pls"]; ModelBase <A3_LegionModel> .getInstance().members.Clear(); foreach (Variant current in variant._arr) { ModelBase <A3_LegionModel> .getInstance().AddMember(current); } base.dispatchEvent(GameEvent.Create(14u, this, data, false)); break; case 15: { bool flag8 = data != null && data.ContainsKey("clanlog_list") && data["clanlog_list"]._arr.Count > 0; if (flag8) { ModelBase <A3_LegionModel> .getInstance().AddLog(data); } base.dispatchEvent(GameEvent.Create(15u, this, data, false)); break; } case 16: ModelBase <A3_LegionModel> .getInstance().RefreshApplicant(data); base.dispatchEvent(GameEvent.Create(16u, this, data, false)); break; case 17: ModelBase <A3_LegionModel> .getInstance().list.Clear(); ModelBase <A3_LegionModel> .getInstance().list2.Clear(); variant = data["info"]; foreach (Variant current2 in variant._arr) { A3_LegionData item = default(A3_LegionData); item.id = current2["id"]; item.clname = current2["clname"]; item.combpt = current2["combpt"]; item.lvl = current2["lvl"]; item.name = current2["name"]; item.plycnt = current2["plycnt"]; item.direct_join = current2["direct_join"]; item.huoyue = current2["last_active"]; ModelBase <A3_LegionModel> .getInstance().list.Add(item); ModelBase <A3_LegionModel> .getInstance().list2.Add(item); } base.dispatchEvent(GameEvent.Create(17u, this, data, false)); break; case 18: base.dispatchEvent(GameEvent.Create(18u, this, data, false)); break; case 22: this.SendGetInfo(); base.dispatchEvent(GameEvent.Create(22u, this, data, false)); flytxt.instance.fly("您已成功解散骑士团!", 0, default(Color), null); break; case 24: base.dispatchEvent(GameEvent.Create(24u, this, data, false)); break; case 25: flytxt.instance.fly("军团buff提升成功", 0, default(Color), null); break; case 26: base.dispatchEvent(GameEvent.Create(26u, this, data, false)); break; case 32: { bool flag9 = ModelBase <A3_LegionModel> .getInstance().myLegion.id != 0; if (flag9) { bool flag10 = ModelBase <A3_TaskModel> .getInstance() == null || ModelBase <A3_TaskModel> .getInstance().GetClanTask() == null; int taskCount; if (flag10) { taskCount = 9; } else { taskCount = ModelBase <A3_TaskModel> .getInstance().GetClanTask().taskCount; } Dictionary <uint, int> clanRewardDic = ModelBase <A3_TaskModel> .getInstance().GetClanRewardDic(taskCount); flytxt.instance.StopDelayFly(); bool flag11 = data.ContainsKey("money"); if (flag11) { bool flag12 = clanRewardDic.ContainsKey((uint)A3_TaskModel.REWARD_CLAN_MONEY); if (flag12) { flytxt.instance.AddDelayFlytxt("军团资金+" + clanRewardDic[(uint)A3_TaskModel.REWARD_CLAN_MONEY]); } ModelBase <A3_LegionModel> .getInstance().myLegion.gold = data["money"]._int; } bool flag13 = data.ContainsKey("clan_pt"); if (flag13) { bool flag14 = clanRewardDic.ContainsKey((uint)A3_TaskModel.REWARD_CLAN_EXP); if (flag14) { flytxt.instance.AddDelayFlytxt("军团经验+" + clanRewardDic[(uint)A3_TaskModel.REWARD_CLAN_EXP]); } ModelBase <A3_LegionModel> .getInstance().myLegion.clan_pt = data["clan_pt"]._int; } bool flag15 = data.ContainsKey("donate"); if (flag15) { bool flag16 = clanRewardDic.ContainsKey((uint)A3_TaskModel.REWARD_CLAN_DONATE); if (flag16) { flytxt.instance.AddDelayFlytxt("军团贡献+" + clanRewardDic[(uint)A3_TaskModel.REWARD_CLAN_DONATE]); } ModelBase <A3_LegionModel> .getInstance().donate = data["donate"]._int; } bool flag17 = data.ContainsKey("active"); if (flag17) { ModelBase <A3_LegionModel> .getInstance().myLegion.huoyue = data["active"]._int; } flytxt.instance.StartDelayFly(0f, 0.2f); } break; } case 33: { uint clanid = data["clanid"]; string text = data["name"]; string text2 = data["clan_name"]; int num6 = data["clan_lvl"]; bool isOn = a3_legion.mInstance.dic0.isOn; if (isOn) { this.SendAcceptInvite(clanid, true); flytxt.instance.fly("您已接受军团邀请!", 0, default(Color), null); BaseProxy <a3_dartproxy> .getInstance().sendDartGo(); base.dispatchEvent(GameEvent.Create(19u, this, data, false)); } else { MsgBoxMgr.getInstance().showConfirm(string.Concat(new object[] { text, " 邀请你加入 ", num6, "级骑士团 ", text2 }), delegate { this.SendAcceptInvite(clanid, true); }, delegate { this.SendAcceptInvite(clanid, false); }, 0); } base.dispatchEvent(GameEvent.Create(33u, this, data, false)); break; } case 34: { bool flag18 = data["approved"]; bool flag19 = flag18; if (flag19) { BaseProxy <A3_LegionProxy> .getInstance().SendGetInfo(); } BaseProxy <a3_dartproxy> .getInstance().sendDartGo(); base.dispatchEvent(GameEvent.Create(34u, this, data, false)); break; } case 35: { BaseProxy <A3_LegionProxy> .getInstance().SendGetMember(); int num7 = data["cid"]; int num8 = data["clanc"]; int num9 = data["oldclanc"]; string str = data["name"]; string str2 = string.Empty; bool flag20 = num7 == (int)ModelBase <PlayerModel> .getInstance().cid; if (flag20) { str = "您"; } bool flag21 = num9 > num8; if (flag21) { str2 = "的军团职位被降为:"; } else { str2 = "的军团职位被升为:"; } flytxt.instance.fly(str + str2 + ModelBase <A3_LegionModel> .getInstance().GetClancToName(num8), 0, default(Color), null); break; } case 36: { BaseProxy <A3_LegionProxy> .getInstance().SendGetInfo(); bool flag22 = a3_buff.instance != null; if (flag22) { a3_buff.instance.Quited(); } break; } case 37: flytxt.instance.fly("您已成功加入骑士团!", 0, default(Color), null); BaseProxy <a3_dartproxy> .getInstance().sendDartGo(); base.dispatchEvent(GameEvent.Create(2u, this, data, false)); break; } }
void Update() { if (GRMap.grmap_loading || SelfRole.s_bInTransmit) { if (isWaiting) { StopCD(); } return; } if (SelfRole._inst == null || a1_gamejoy.inst_joystick != null && a1_gamejoy.inst_joystick.moveing) { if (isWaiting) { StopCD(); } Reset(alsoHideGameObject: true); return; } TaskData curTask = A3_TaskModel.getInstance().curTask; if (curTask == null) { return; } if (!LockStat) { IsOnKillMon = !curTask.isComplete && curTask.targetType == TaskTargetType.KILL_MONSTER_GIVEN; IsOnTaskWait = !curTask.isComplete && curTask.targetType == TaskTargetType.WAIT_POINT_GIVEN; } //if (IsOnKillMon || IsOnTaskWait) //{ Vector3 curPos = new Vector3(SelfRole._inst.m_curModel.position.x, 0, SelfRole._inst.m_curModel.position.z); if (waitPosition != Vector3.zero) { if (Vector3.Distance(curPos, waitPosition) > waitThresholdDistance) { if (isWaiting) { StopCD(); } Reset(alsoHideGameObject: true, resetCase: 1); } } if (killPosition != Vector3.zero) { if (Vector3.Distance(curPos, killPosition) > killThresholdDistance) { if (isWaiting) { StopCD(); } Reset(alsoHideGameObject: true, resetCase: 2); } } if (IsOnTaskWait) { if (waitPosition == Vector3.zero) { waitPosition = A3_TaskModel.getInstance().GetTaskTargetPos(curTask.taskId); } if (waitPosition != Vector3.zero) { if (Vector3.Distance(curPos, waitPosition) < waitThresholdDistance) { LockStat = true; IsOnTaskWait = false; //tfParentWait.gameObject.SetActive(true); ArrayList arr = new ArrayList(); arr.Add(tfParentWait.gameObject); InterfaceMgr.getInstance().ui_async_open(InterfaceMgr.NEWBIE, arr);//引导触发 OnWaitBtnClick(A3_TaskModel.getInstance().GetTaskDataById(curTaskId)); SelfRole._inst.m_curAni.SetBool(EnumAni.ANI_RUN, false); SelfRole.ChangeRideAniState(false); if (SelfRole._inst.m_moveAgent.isActiveAndEnabled) { SelfRole._inst.m_moveAgent.Stop(); } haveEnteredWaitPosition = true; } else if (haveEnteredWaitPosition) { Reset(alsoHideGameObject: true, resetCase: 2); haveEnteredWaitPosition = false; } } } if (IsOnKillMon && killPosition != Vector3.zero) { if (Vector3.Distance(curPos, killPosition) < killThresholdDistance) { //IsOnKillMon = false; int curTaskId = a3_task_auto.instance.executeTask?.taskId ?? A3_TaskModel.getInstance().curTask.taskId; SelfRole.fsm.Stop(); if (taskOptElement.ContainsKey(curTaskId)) { LockStat = true; IsOnKillMon = false; if (!taskOptElement[curTaskId].isTaskMonsterAlive) { winKillMon.SetActive(true); OnWaitBtnClick1(A3_TaskModel.getInstance().GetTaskDataById(curTaskId)); } //else // if (!SelfRole.fsm.Autofighting) // SelfRole.fsm.StartAutofight(); } //if (SelfRole._inst.m_moveAgent.isActiveAndEnabled) } else { winKillMon.SetActive(false); } } //} }
private void OnCheck(GameEvent e) { Variant data = e.data; if (data == null) { return; } if (data.ContainsKey("change_task") && data["change_task"].Length > 0) { Variant task = data["change_task"][0]; if (task.ContainsKey("id")) { int taskId = task["id"]._int; TaskData taskData = A3_TaskModel.getInstance().GetTaskDataById(taskId); if (taskOptElement.ContainsKey(taskId) && task.ContainsKey("cnt") && task["cnt"]._int >= taskData.completion) { taskOptElement[taskId].Set( isKeepingKillMon: false, isTaskMonsterAlive: false, timeKillTerminal: -1 ); if (taskOptElement.ContainsKey(taskId)) { taskOptElement[taskId].Set(isTaskMonsterAlive: false); taskOptElement[taskId].liteMinimapTaskTimer.gameObject?.SetActive(false); taskOptElement.Remove(taskId); } //taskOptElement[taskId].liteMinimapTaskTimer.gameObject.SetActive(false); } else if (taskData.targetType == TaskTargetType.KILL_MONSTER_GIVEN) { uint lose_tm = task.ContainsKey("lose_tm") ? task["lose_tm"]._uint : 0; taskOptElement[taskId].Set( isKeepingKillMon: true, isTaskMonsterAlive: taskData.release_tm > lose_tm - muNetCleint.instance.CurServerTimeStamp, timeKillTerminal: lose_tm ); } } } else { int taskId = 0; Variant misData = new Variant(); TaskTargetType taskTargetType = default(TaskTargetType); if (data.ContainsKey("mlmis")) { taskTargetType = A3_TaskModel.getInstance().GetTaskDataById((taskId = (misData = data["mlmis"])["id"]._int)).targetType; } if (data.ContainsKey("bmis")) { misData = data["bmis"]; if (misData != null) { taskId = misData["id"]._int; if (taskId > 0) { TaskData tData = A3_TaskModel.getInstance().GetTaskDataById(taskId); if (tData != null) { taskTargetType = tData.targetType; } } } } if (data.ContainsKey("dmis")) { taskTargetType = A3_TaskModel.getInstance().GetTaskDataById((taskId = (misData = data["dmis"])["id"]._int)).targetType; } if (data.ContainsKey("emis")) { taskTargetType = A3_TaskModel.getInstance().GetTaskDataById((taskId = (misData = data["emis"])["id"]._int)).targetType; } if (data.ContainsKey("cmis")) { taskTargetType = A3_TaskModel.getInstance().GetTaskDataById((taskId = (misData = data["cmis"])["id"]._int)).targetType; } if (taskTargetType == TaskTargetType.KILL_MONSTER_GIVEN) { if (misData != null) { long timeKillTerminal; if (misData.ContainsKey("cnt") && misData["cnt"] < A3_TaskModel.getInstance().GetTaskDataById(taskId).completion&& misData.ContainsKey("lose_tm")) { timeKillTerminal = misData["lose_tm"]._int64; } else { timeKillTerminal = 0; } if (taskOptElement.ContainsKey(taskId)) { taskOptElement[taskId].Set(isKeepingKillMon: true, isTaskMonsterAlive: false, timeKillTerminal: timeKillTerminal); } } } else if (taskTargetType == TaskTargetType.GET_ITEM_GIVEN) { taskItemId = (uint)A3_TaskModel.getInstance().GetTaskDataById(taskId).completionAim;//GetTaskXML().GetNode("task", "id==" + taskId).getUint("target_param2"); } } if (!IsInvoking("RunTimer")) { InvokeRepeating("RunTimer", 0f, 1.0f); } }
private void OnNpcTaskStateChange(GameEvent e) { Variant data = e.data; int num = data["npcId"]; int num2 = data["taskId"]; int num3 = data["taskState"]; bool flag = !this.dicNpcTaskState.ContainsKey(num); if (flag) { Dictionary <int, int> dictionary = new Dictionary <int, int>(); dictionary[num2] = num3; this.dicNpcTaskState[num] = dictionary; } else { bool flag2 = num3 == 0; if (flag2) { this.dicNpcTaskState[num].Remove(num2); } else { this.dicNpcTaskState[num][num2] = num3; } } NpcRole role = this.getRole(num); List <int> list = this.dicNpcTaskState[num].Values.ToList <int>(); int taskState = 0; bool flag3 = list.Count > 0; if (flag3) { taskState = list.Max <int>(); } this.SetNpcTaskState(role, (NpcTaskState)taskState); TaskData taskDataById = ModelBase <A3_TaskModel> .getInstance().GetTaskDataById(num2); bool flag4 = taskDataById != null; if (flag4) { bool topShowOnLiteminimap = taskDataById.topShowOnLiteminimap; if (topShowOnLiteminimap) { a3_liteMinimap expr_11C = a3_liteMinimap.instance; if (expr_11C != null) { expr_11C.SetTopShow(num2); } } else { a3_liteMinimap expr_130 = a3_liteMinimap.instance; if (expr_130 != null) { expr_130.RefreshTaskPage(num2); } } } }
//显示奖励信息 private void OnShowAwardInfo() { //TODO 假如有物品, 则创icon bg_task.gameObject.SetActive(true); conOption.parent.gameObject.SetActive(false); //int selectId = tkModel.SelectTaskId; TaskData taskData = /*tkModel.*/ curTask; Dictionary <uint, int> dicValueReward; switch (taskData.taskT) { case TaskType.CLAN: dicValueReward = tkModel.GetClanRewardDic(taskData.taskCount); break; default: dicValueReward = tkModel.GetValueReward(taskData.taskId); break; } Dictionary <uint, int> dicItemReward = tkModel.GetItemReward(taskData.taskId); List <a3_BagItemData> listEquipReward = tkModel.GetEquipReward(taskData.taskId); if (taskData.guide) { btnNext.transform.FindChild("guide_task_info").gameObject.SetActive(true); } else { btnNext.transform.FindChild("guide_task_info").gameObject.SetActive(false); } if (dicValueReward != null) { if (conIcon.childCount > 0) { for (int i = 0; i < conIcon.childCount; i++) { Destroy(conIcon.GetChild(i).gameObject); } } foreach (var v in dicValueReward.Keys) { a3_ItemData item = a3_BagModel.getInstance().getItemDataById(v); switch (taskData.taskT) { default: item.file = "icon_comm_0x" + v; break; case TaskType.CLAN: item.file = "icon_comm_1x" + v; break; } GameObject icon = IconImageMgr.getInstance().createA3ItemIcon(item, false, dicValueReward[v], 0.8f); var bd = icon.transform.FindChild("iconbor"); if (bd != null) { bd.gameObject.SetActive(false); } GameObject rootClon = GameObject.Instantiate(iconTemp) as GameObject; icon.transform.SetParent(rootClon.transform.FindChild("icon"), false); rootClon.transform.SetParent(conIcon, false); rootClon.name = item.tpid.ToString(); rootClon.SetActive(true); var iimg = icon.GetComponent <Image>(); if (iimg != null) { iimg.enabled = false; } } } if (listEquipReward != null) { foreach (a3_BagItemData v in listEquipReward) { if (!v.isEquip) { continue; } GameObject icon = IconImageMgr.getInstance().createA3ItemIcon(v.id, false, -1, 0.8f); var bd = icon.transform.FindChild("iconborder"); if (bd != null) { bd.gameObject.SetActive(false); } GameObject rootClon = GameObject.Instantiate(iconTemp) as GameObject; icon.transform.SetParent(rootClon.transform.FindChild("icon"), false); rootClon.transform.SetParent(conIcon, false); rootClon.name = v.tpid.ToString(); rootClon.SetActive(true); var iimg = icon.GetComponent <Image>(); if (iimg != null) { iimg.enabled = false; } } } if (dicItemReward != null) { foreach (uint key in dicItemReward.Keys) { int num = dicItemReward[key]; GameObject icon = IconImageMgr.getInstance().createA3ItemIcon( key, true, num, 0.8F, false); var bd = icon.transform.FindChild("iconborder"); if (bd != null) { bd.gameObject.SetActive(false); } GameObject rootClon = GameObject.Instantiate(iconTemp) as GameObject; icon.transform.SetParent(rootClon.transform.FindChild("icon"), false); rootClon.transform.SetParent(conIcon, false); rootClon.name = key.ToString(); rootClon.SetActive(true); var iimg = icon.GetComponent <Image>(); if (iimg != null) { iimg.enabled = false; } } } }
private void refresh() { TaskData dailyTask = ModelBase <A3_TaskModel> .getInstance().GetDailyTask(); bool flag = dailyTask != null; if (flag) { this.cs_rotine.text = string.Concat(new object[] { "(", ModelBase <A3_TaskModel> .getInstance().GetTaskMaxCount(dailyTask.taskId) - dailyTask.taskCount, "/", ModelBase <A3_TaskModel> .getInstance().GetTaskMaxCount(dailyTask.taskId), ")" }); base.transform.FindChild("cells/scroll/content/routine").gameObject.SetActive(true); } else { base.transform.FindChild("cells/scroll/content/routine").gameObject.SetActive(false); } Variant variant = SvrLevelConfig.instacne.get_level_data(102u); int num = variant["daily_cnt"]; int num2 = 0; bool flag2 = MapModel.getInstance().dFbDta.ContainsKey(102); if (flag2) { num2 = Mathf.Min(MapModel.getInstance().dFbDta[102].cycleCount, num); } bool flag3 = FunctionOpenMgr.instance.Check(FunctionOpenMgr.GOLD_DUNGEON, false) && num != num2; if (flag3) { this.cs_goldfb.text = string.Concat(new object[] { "(", num - num2, "/", num, ")" }); base.transform.FindChild("cells/scroll/content/goldfb").gameObject.SetActive(true); } else { base.transform.FindChild("cells/scroll/content/goldfb").gameObject.SetActive(false); } bool flag4 = ModelBase <A3_VipModel> .getInstance().Level > 0; int num3; if (flag4) { num3 = ModelBase <A3_VipModel> .getInstance().vip_exchange_num(3); } else { num3 = 10; } ExchangeModel instance = ModelBase <ExchangeModel> .getInstance(); bool flag5 = (long)num3 - (long)((ulong)instance.Count) > 0L; if (flag5) { this.cs_getMoney.text = string.Concat(new object[] { "(", (long)num3 - (long)((ulong)instance.Count), "/", num3, ")" }); base.transform.FindChild("cells/scroll/content/dianjin").gameObject.SetActive(true); } else { base.transform.FindChild("cells/scroll/content/dianjin").gameObject.SetActive(false); } }