public Api_Result <Mem_deck> Start(int deck_rid, int mission_id, int tankerNum) { Api_Result <Mem_deck> api_Result = new Api_Result <Mem_deck>(); Mst_mission2 value = null; if (mission_id > 0) { if (!Mst_DataManager.Instance.Mst_mission.TryGetValue(mission_id, out value)) { api_Result.state = Api_Result_State.Parameter_Error; return(api_Result); } } else { List <Mst_mission2> supportResistedData = Mst_DataManager.Instance.GetSupportResistedData(Comm_UserDatas.Instance.User_deck[deck_rid].Area_id); value = ((mission_id != -1) ? supportResistedData[1] : supportResistedData[0]); } Mem_deck value2 = null; if (!Comm_UserDatas.Instance.User_deck.TryGetValue(deck_rid, out value2)) { api_Result.state = Api_Result_State.Parameter_Error; return(api_Result); } if (mission_id > 0 && !Comm_UserDatas.Instance.User_missioncomp.ContainsKey(mission_id)) { Mem_missioncomp mem_missioncomp = new Mem_missioncomp(mission_id, value.Maparea_id, MissionClearKinds.NOTCLEAR); mem_missioncomp.Insert(); } if (!value2.MissionStart(value)) { api_Result.state = Api_Result_State.Parameter_Error; return(api_Result); } if (tankerNum > 0) { IEnumerable <Mem_tanker> enumerable = Mem_tanker.GetFreeTanker(Comm_UserDatas.Instance.User_tanker).Take(tankerNum); List <Mem_tanker> list = new List <Mem_tanker>(); foreach (Mem_tanker item in enumerable) { if (!item.MissionStart(value.Maparea_id, deck_rid)) { list.ForEach(delegate(Mem_tanker x) { x.MissionTerm(); }); api_Result.state = Api_Result_State.Parameter_Error; return(api_Result); } list.Add(item); } } api_Result.data = value2; QuestMission questMission = new QuestMission(value.Id, value2, MissionResultKinds.FAILE); questMission.ExecuteCheck(); return(api_Result); }
public Api_Result <MissionResultFmt> Result(int deck_rid) { Api_Result <MissionResultFmt> api_Result = new Api_Result <MissionResultFmt>(); Mem_deck value = null; if (!Comm_UserDatas.Instance.User_deck.TryGetValue(deck_rid, out value)) { api_Result.state = Api_Result_State.Parameter_Error; return(api_Result); } if (value.MissionState != MissionStates.END && value.MissionState != MissionStates.STOP) { api_Result.state = Api_Result_State.Parameter_Error; return(api_Result); } if (value.Ship.Count() == 0) { api_Result.state = Api_Result_State.Parameter_Error; return(api_Result); } if (mst_level == null) { mst_level = Mst_DataManager.Instance.Get_MstLevel(shipTable: true); } if (mst_userlevel == null) { mst_userlevel = Mst_DataManager.Instance.Get_MstLevel(shipTable: false); } int mission_id = value.Mission_id; bool flag = value.MissionState == MissionStates.STOP; Exec_MissionResult exec_MissionResult = new Exec_MissionResult(value, mst_level, mst_userlevel); api_Result.data = exec_MissionResult.GetResultData(); if (!flag) { QuestMission questMission = new QuestMission(mission_id, value, api_Result.data.MissionResult); questMission.ExecuteCheck(); } return(api_Result); }
public Api_Result <MissionResultFmt> Result(int deck_rid) { Api_Result <MissionResultFmt> api_Result = new Api_Result <MissionResultFmt>(); Mem_deck mem_deck = null; if (!Comm_UserDatas.Instance.User_deck.TryGetValue(deck_rid, ref mem_deck)) { api_Result.state = Api_Result_State.Parameter_Error; return(api_Result); } if (mem_deck.MissionState != MissionStates.END && mem_deck.MissionState != MissionStates.STOP) { api_Result.state = Api_Result_State.Parameter_Error; return(api_Result); } if (mem_deck.Ship.Count() == 0) { api_Result.state = Api_Result_State.Parameter_Error; return(api_Result); } if (this.mst_level == null) { this.mst_level = Mst_DataManager.Instance.Get_MstLevel(true); } if (this.mst_userlevel == null) { this.mst_userlevel = Mst_DataManager.Instance.Get_MstLevel(false); } int mission_id = mem_deck.Mission_id; bool flag = mem_deck.MissionState == MissionStates.STOP; Exec_MissionResult exec_MissionResult = new Exec_MissionResult(mem_deck, this.mst_level, this.mst_userlevel); api_Result.data = exec_MissionResult.GetResultData(); if (!flag) { QuestMission questMission = new QuestMission(mission_id, mem_deck, api_Result.data.MissionResult); questMission.ExecuteCheck(); } return(api_Result); }
public Api_Result <Mem_deck> Start(int deck_rid, int mission_id, int tankerNum) { Api_Result <Mem_deck> api_Result = new Api_Result <Mem_deck>(); Mst_mission2 mst_mission = null; if (mission_id > 0) { if (!Mst_DataManager.Instance.Mst_mission.TryGetValue(mission_id, ref mst_mission)) { api_Result.state = Api_Result_State.Parameter_Error; return(api_Result); } } else { List <Mst_mission2> supportResistedData = Mst_DataManager.Instance.GetSupportResistedData(Comm_UserDatas.Instance.User_deck.get_Item(deck_rid).Area_id); mst_mission = ((mission_id != -1) ? supportResistedData.get_Item(1) : supportResistedData.get_Item(0)); } Mem_deck mem_deck = null; if (!Comm_UserDatas.Instance.User_deck.TryGetValue(deck_rid, ref mem_deck)) { api_Result.state = Api_Result_State.Parameter_Error; return(api_Result); } if (mission_id > 0 && !Comm_UserDatas.Instance.User_missioncomp.ContainsKey(mission_id)) { Mem_missioncomp mem_missioncomp = new Mem_missioncomp(mission_id, mst_mission.Maparea_id, MissionClearKinds.NOTCLEAR); mem_missioncomp.Insert(); } if (!mem_deck.MissionStart(mst_mission)) { api_Result.state = Api_Result_State.Parameter_Error; return(api_Result); } if (tankerNum > 0) { IEnumerable <Mem_tanker> enumerable = Enumerable.Take <Mem_tanker>(Mem_tanker.GetFreeTanker(Comm_UserDatas.Instance.User_tanker), tankerNum); List <Mem_tanker> list = new List <Mem_tanker>(); using (IEnumerator <Mem_tanker> enumerator = enumerable.GetEnumerator()) { while (enumerator.MoveNext()) { Mem_tanker current = enumerator.get_Current(); if (!current.MissionStart(mst_mission.Maparea_id, deck_rid)) { list.ForEach(delegate(Mem_tanker x) { x.MissionTerm(); }); api_Result.state = Api_Result_State.Parameter_Error; return(api_Result); } list.Add(current); } } } api_Result.data = mem_deck; QuestMission questMission = new QuestMission(mst_mission.Id, mem_deck, MissionResultKinds.FAILE); questMission.ExecuteCheck(); return(api_Result); }