private void Awake() { MissionArg1 mission = new MissionArg1("M1"); mission.SetValue("HIAT1", "生成一些物体,使得你可以绕过敌人到达出口处,并在出口处生成一些古建筑的基本元素", "3"); MissionSystem1.ReceiveMission(mission); //uim 调用UIManager 中 更改mission的方法 UIManager.ins.AddMisionUI(mission.MissionTitle, mission.MissionInner); MissionArg1 mission1 = new MissionArg1("M2"); mission.SetValue("HIAT2", "用生成的古建筑基本元素,进行组合,组合好古建筑的完成形态后,你将会获得一个道具", "3"); MissionSystem1.ReceiveMission(mission); //uim 调用UIManager 中 更改mission的方法 UIManager.ins.AddMisionUI(mission.MissionTitle, mission.MissionInner); MissionArg1 mission2 = new MissionArg1("M3"); mission.SetValue("HIAT3", "用新获得的道具消灭敌人,获得敌人身上的宝物", "3"); MissionSystem1.ReceiveMission(mission); //uim 调用UIManager 中 更改mission的方法 UIManager.ins.AddMisionUI(mission.MissionTitle, mission.MissionInner); }
/// <summary> /// 接取任务 /// </summary> /// <param name="missionID">任务ID</param> public static void ReceiveMission(MissionArg1 mission) { //第一次接取任务的时候 生成实例 if (ins == null) { ins = new MissionSystem1(); } //判断是否有该任务 if (!ins.missionsDic.ContainsKey(mission.MissionID)) { //没有 //中间值 // MissionArg1 mission = new MissionArg1(missionID); //加入到任务列表 ins.missionsDic.Add(mission.MissionID, mission); Debug.Log("注册成功 ! 任务 ID :" + mission.MissionID + " 现在任务数量 : " + ins.missionsDic.Count); } else { Debug.Log("注册失败 ! 已注册的任务 ID :" + mission.MissionID); } }
/// <summary> /// 完成任务 /// </summary> /// <param name="missionID">任务ID</param> public static void UpdateMission(string missionID) { if (ins == null) { Debug.Log("没有任何任务 !"); return; } //中间值 MissionArg1 mission = null; //检查是否有该任务 if (ins.missionsDic.TryGetValue(missionID, out mission)) { //有 //提交 //mission.CompleteMission(); mission.UpdateMission(); Debug.Log("提交成功 ! 任务 ID :" + missionID); } else { Debug.Log("提交失败 ! 没有该任务 ID :" + missionID); } }
/// <summary> /// 获取任务列表 /// </summary> /// <returns>任务列表</returns> MissionArg1[] GetCurrentMissions() { //是否有接取过任务 if (ins == null) { return(null); } //是否有正在执行的任务 if (ins.missionsDic.Count == 0) { return(null); } //创建中间变量 MissionArg1[] targetArrary = new MissionArg1[ins.missionsDic.Count]; int temp = 0; //遍历 将所有字典中的值 存入中间变量中 foreach (MissionArg1 mission in ins.missionsDic.Values) { targetArrary[temp] = mission; temp++; //Debug.Log(mission.MissionID); } //foreach (MissionArg mission in targetArrary) //{ // Debug.Log(mission.MissionID); //} return(targetArrary); }