// ミッションをクリア状態にして、他のミッションが開放されないか確認する public void MissionClear() { //Debug.LogError (string.Format( "mission clear work_id:{0}", work_id)); //string strNow = TimeManager.StrNow (); Dictionary <string, string> dict = new Dictionary <string, string> (); dict.Add("status", ((int)Define.Work.STATUS.CLEARD).ToString()); GameMain.dbWork.Update(work_id, dict); // ふういんされているモンスターを解き放つ List <DataMonsterMaster> list_monster = GameMain.dbMonsterMaster.Select(string.Format(" status = 0 and open_work_id = {0} ", work_id)); foreach (DataMonsterMaster data_monster_master in list_monster) { Dictionary <string, string> monster_master_dict = new Dictionary <string, string> (); monster_master_dict.Add("status", "1"); GameMain.dbMonsterMaster.Update(data_monster_master.monster_id, monster_master_dict); } GameMain.Instance.AddFukidashi(work_id, title + " を[FF0000]達成![-]"); if (0 < prize_coin) { DataManager.user.AddGold(prize_coin); } if (0 < prize_ticket) { DataManager.user.AddTicket(prize_ticket); } if (0 < prize_monster) { GameMain.dbMonster.Insert(prize_monster, 0); } // お仕事の開放は絞られた仕事idと、レベルによって開放されます。 // 先に仕事idの制限を切って,レベルでの制限に引っかかってないか確認する // この完了した仕事につられて起きる仕事 List <DataWork> list_work = GameMain.dbWork.Select(" status = 0 and appear_work_id = " + work_id.ToString() + " "); Dictionary <string, string> dict_appear = new Dictionary <string, string> (); dict_appear.Add("appear_work_id", "0"); foreach (DataWork appear_work in list_work) { GameMain.dbWork.Update(appear_work.work_id, dict_appear); } DataWork.WorkOpen(); return; }
static public void WorkCheck() { List <DataWork> check_work_list = GameMain.dbWork.Select(string.Format(" status = {0} ", (int)Define.Work.STATUS.APPEAR)); foreach (DataWork work in check_work_list) { if (work.ClearCheck()) { work.MissionClear(); } } DataWork.WorkOpen(); }