private bool EventCheck() { this.player.eventhit = this.player.parent.CanMove_EventHit(MapCharacterBase.ANGLE.none); if (this.player.hitEvent > -1 && this.player.parent.Field.Events[this.player.hitEvent] is MysteryData) { MysteryData mysteryData = (MysteryData)this.player.parent.Field.Events[this.player.hitEvent]; if (mysteryData.itemData.type == 2 && !this.savedata.GetMystery[mysteryData.itemData.flugNumber]) { return(true); } } return(false); }
public MysteryItem( IAudioEngine s, EventManager m, MapField field, RandomMystery item, bool message, MysteryData mystery, SaveData save) : base(s, m, save) { this.field = field; this.mystery = mystery; this.itemData = item; this.message = message; this.NoTimeNext = message; this.parent = m.parent; }
public MapField(IAudioEngine s, string txtname, SaveData save, SceneMap p) : base(s) { this.save = save; this.parent = p; this.parent.parent.KeepActiveTexList.RemoveAll(e => !e.Contains(txtname)); this.parent.parent.TexClear(false); this.mapname = txtname; save.nowMap = txtname; string path = NSGame.Debug.MaskMapFile ? "data/" + txtname + ".she" : "map/" + txtname + ".txt"; if (!File.Exists(path)) { return; } StreamReader reader = new StreamReader(path, Encoding.GetEncoding("Shift_JIS")); string A1 = reader.ReadLine(); if (NSGame.Debug.MaskMapFile) { A1 = TCDEncodeDecode.EncMapScript(A1); } string[] strArray1 = A1.Split(','); int length1 = int.Parse(strArray1[0]); int length2 = int.Parse(strArray1[1]); int length3 = int.Parse(strArray1[8]); this.rendX = int.Parse(strArray1[2]); this.rendY = int.Parse(strArray1[3]); this.rect = new Rectangle(0, 0, int.Parse(strArray1[4]), int.Parse(strArray1[5])); save.plase = ShanghaiEXE.Translate(strArray1[6]); this.height = int.Parse(strArray1[7]); this.map = new UnboundedMap(new byte[length3, length1, length2]); this.backNo = int.Parse(strArray1[9]); this.back = BackgroundBase.BackMake(this.backNo); this.encountCap[0] = int.Parse(strArray1[10]); this.encountCap[1] = int.Parse(strArray1[11]); string str1 = strArray1[12]; this.graphicName = new string[length3 + (length3 - 1)]; for (int index = 0; index < ((IEnumerable <string>) this.graphicName).Count <string>(); ++index) { this.graphicName[index] = str1 + (index + 1).ToString(); } string str2; for (int index1 = 0; index1 < this.map.GetLength(0); ++index1) { for (int index2 = 0; index2 < this.map.GetLength(2); ++index2) { string A2 = reader.ReadLine(); if (NSGame.Debug.MaskMapFile) { A2 = TCDEncodeDecode.EncMapScript(A2); } string[] strArray2 = A2.Split(','); for (int index3 = 0; index3 < this.map.GetLength(1); ++index3) { this.map[index1, index3, index2] = 0; this.map[index1, index3, index2] = byte.Parse(strArray2[index3]); } } string A3 = reader.ReadLine(); if (NSGame.Debug.MaskMapFile) { str2 = TCDEncodeDecode.EncMapScript(A3); } } this.encounts.Clear(); string A4; while ((A4 = reader.ReadLine()) != "") { if (NSGame.Debug.MaskMapFile) { A4 = TCDEncodeDecode.EncMapScript(A4); } if (!(A4 == "")) { EventManager m = new EventManager(this.sound); string[] strArray2 = A4.Split(':'); m.AddEvent(new BgmSave(this.sound, m, this, save)); Battle battle; if (strArray2.Length >= 20) { battle = new NSEvent.Battle(this.sound, m, int.Parse(strArray2[1]), byte.Parse(strArray2[2]), int.Parse(strArray2[3]), int.Parse(strArray2[4]), int.Parse(strArray2[5]), int.Parse(strArray2[6]), int.Parse(strArray2[7]), int.Parse(strArray2[8]), ShanghaiEXE.Translate(strArray2[9]), int.Parse(strArray2[10]), byte.Parse(strArray2[11]), int.Parse(strArray2[12]), int.Parse(strArray2[13]), int.Parse(strArray2[14]), int.Parse(strArray2[15]), int.Parse(strArray2[16]), int.Parse(strArray2[17]), ShanghaiEXE.Translate(strArray2[18]), int.Parse(strArray2[19]), byte.Parse(strArray2[20]), int.Parse(strArray2[21]), int.Parse(strArray2[22]), int.Parse(strArray2[23]), int.Parse(strArray2[24]), int.Parse(strArray2[25]), int.Parse(strArray2[26]), ShanghaiEXE.Translate(strArray2[27]), (Panel.PANEL) int.Parse(strArray2[28]), (Panel.PANEL) int.Parse(strArray2[29]), int.Parse(strArray2[30]), bool.Parse(strArray2[31]), bool.Parse(strArray2[32]), bool.Parse(strArray2[33]), bool.Parse(strArray2[34]), strArray2[35], this.backNo, save); } else { battle = new NSEvent.Battle(this.sound, m, (EnemyBase.VIRUS)Enum.Parse(typeof(EnemyBase.VIRUS), strArray2[1]), byte.Parse(strArray2[2]), int.Parse(strArray2[3]), int.Parse(strArray2[4]), (EnemyBase.VIRUS)Enum.Parse(typeof(EnemyBase.VIRUS), strArray2[5]), byte.Parse(strArray2[6]), int.Parse(strArray2[7]), int.Parse(strArray2[8]), (EnemyBase.VIRUS)Enum.Parse(typeof(EnemyBase.VIRUS), strArray2[9]), byte.Parse(strArray2[10]), int.Parse(strArray2[11]), int.Parse(strArray2[12]), (Panel.PANEL)Enum.Parse(typeof(Panel.PANEL), strArray2[13]), (Panel.PANEL)Enum.Parse(typeof(Panel.PANEL), strArray2[14]), int.Parse(strArray2[15]), bool.Parse(strArray2[16]), bool.Parse(strArray2[17]), bool.Parse(strArray2[18]), save); } m.AddEvent(battle); m.AddEvent(new BgmLoad(this.sound, m, this, save)); m.AddEvent(new Fade(this.sound, m, 17, 0, 0, 0, 0, false, save)); this.encounts.Add(m); } else { break; } } string A5 = reader.ReadLine(); if (NSGame.Debug.MaskMapFile) { A5 = TCDEncodeDecode.EncMapScript(A5); } string[] strArray3 = A5.Split(':'); List <RandomMystery> randomMysteryList = new List <RandomMystery>(); foreach (string str3 in strArray3) { if (str3 == "") { break; } if (str3 == "random") { continue; } string[] strArray2 = str3.Split(','); randomMysteryList.Add(new RandomMystery() { itemType = int.Parse(strArray2[0]), itemNumber = int.Parse(strArray2[1]), itemSub = int.Parse(strArray2[2]), getInfo = ShanghaiEXE.Translate(strArray2[3]) }); } this.randomMystery = randomMysteryList.ToArray(); string A6 = reader.ReadLine(); if (NSGame.Debug.MaskMapFile) { str2 = TCDEncodeDecode.EncMapScript(A6); } var eventIndex = 0; string A7; while ((A7 = reader.ReadLine()) != null) { if (NSGame.Debug.MaskMapFile) { A7 = TCDEncodeDecode.EncMapScript(A7); } string[] strArray2 = A7.Split(':'); if (strArray2[0] == "ID") { string id = strArray2[1]; string A2 = reader.ReadLine(); if (NSGame.Debug.MaskMapFile) { A2 = TCDEncodeDecode.EncMapScript(A2); } string[] strArray4 = A2.Split(':'); Point po = new Point(int.Parse(strArray4[1]), int.Parse(strArray4[2])); var mapEvent = new MapEventBase(s, this.parent, po, int.Parse(strArray4[3]), MapCharacterBase.ANGLE.UP, this, id, save, reader, this.mapname); mapEvent.index = eventIndex; this.Events.Add(mapEvent); } else { string id = strArray2[1]; string A2 = reader.ReadLine(); if (NSGame.Debug.MaskMapFile) { A2 = TCDEncodeDecode.EncMapScript(A2); } string[] strArray4 = A2.Split(':'); Point po = new Point(int.Parse(strArray4[1]), int.Parse(strArray4[2])); int floor = int.Parse(strArray4[3]); RandomMystery random = new RandomMystery(); string A3 = reader.ReadLine(); if (NSGame.Debug.MaskMapFile) { A3 = TCDEncodeDecode.EncMapScript(A3); } string[] strArray5 = A3.Split(':')[1].Split(','); random.type = int.Parse(strArray5[0]); random.itemType = int.Parse(strArray5[1]); random.itemNumber = int.Parse(strArray5[2]); random.itemSub = int.Parse(strArray5[3]); random.getInfo = ShanghaiEXE.Translate(strArray5[4]); random.flugNumber = int.Parse(strArray5[5]); var mysteryData = new MysteryData(s, this.parent, po, floor, MapCharacterBase.ANGLE.UP, this, id, save, reader, random); mysteryData.index = eventIndex; this.Events.Add(mysteryData); } eventIndex++; } reader.Close(); this.threadEnd = false; this.MapTexLoad(); this.threadTexRead = new Thread(new ThreadStart(this.MapTexLoad)); this.threadTexRead.Start(); this.parent.eventmanagerParallel.events.Clear(); this.parent.eventmanagerParallel.playevent = false; }