public void MapChange(string source, MapInfo oldMap, MapInfo newMap, string info = "") { string task = string.Format("Moved Map {0} => {1}", oldMap.FileName, newMap.FileName); Action action = new Action { Source = source, Task = task, AddedInfo = info }; RecordAction(action); }
public Map(MapInfo info) { Info = info; Thread = Envir.Random.Next(Settings.ThreadLimit); }
public void Remove(MapInfo info) { MapInfoList.Remove(info); //Desync all objects\ }
public static void FromText(string text) { string[] data = text.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (data.Length < 8) return; MapInfo info = new MapInfo {FileName = data[0], Title = data[1]}; if (!ushort.TryParse(data[2], out info.MiniMap)) return; if (!Enum.TryParse(data[3], out info.Light)) return; int sziCount, miCount, riCount, npcCount; if (!int.TryParse(data[4], out sziCount)) return; if (!int.TryParse(data[5], out miCount)) return; if (!int.TryParse(data[6], out riCount)) return; if (!int.TryParse(data[7], out npcCount)) return; int start = 8; for (int i = 0; i < sziCount; i++) { SafeZoneInfo temp = new SafeZoneInfo { Info = info }; int x, y; if (!int.TryParse(data[start + (i * 4)], out x)) return; if (!int.TryParse(data[start + 1 + (i * 4)], out y)) return; if (!ushort.TryParse(data[start + 2 + (i * 4)], out temp.Size)) return; if (!bool.TryParse(data[start + 3 + (i * 4)], out temp.StartPoint)) return; temp.Location = new Point(x, y); info.SafeZones.Add(temp); } start += sziCount * 4; for (int i = 0; i < miCount; i++) { MovementInfo temp = new MovementInfo(); int x, y; if (!int.TryParse(data[start + (i * 5)], out x)) return; if (!int.TryParse(data[start + 1 + (i * 5)], out y)) return; temp.Source = new Point(x, y); if (!int.TryParse(data[start + 2 + (i * 5)], out temp.MapIndex)) return; if (!int.TryParse(data[start + 3 + (i * 5)], out x)) return; if (!int.TryParse(data[start + 4 + (i * 5)], out y)) return; temp.Destination = new Point(x, y); info.Movements.Add(temp); } start += miCount * 5; for (int i = 0; i < riCount; i++) { RespawnInfo temp = new RespawnInfo(); int x, y; if (!int.TryParse(data[start + (i * 7)], out temp.MonsterIndex)) return; if (!int.TryParse(data[start + 1 + (i * 7)], out x)) return; if (!int.TryParse(data[start + 2 + (i * 7)], out y)) return; temp.Location = new Point(x, y); if (!ushort.TryParse(data[start + 3 + (i * 7)], out temp.Count)) return; if (!ushort.TryParse(data[start + 4 + (i * 7)], out temp.Spread)) return; if (!ushort.TryParse(data[start + 5 + (i * 7)], out temp.Delay)) return; if (!byte.TryParse(data[start + 6 + (i * 7)], out temp.Direction)) return; info.Respawns.Add(temp); } start += riCount * 7; for (int i = 0; i < npcCount; i++) { NPCInfo temp = new NPCInfo { FileName = data[start + (i * 6)], Name = data[start + 1 + (i * 6)] }; int x, y; if (!int.TryParse(data[start + 2 + (i * 6)], out x)) return; if (!int.TryParse(data[start + 3 + (i * 6)], out y)) return; temp.Location = new Point(x, y); if (!ushort.TryParse(data[start + 4 + (i * 6)], out temp.Rate)) return; if (!byte.TryParse(data[start + 5 + (i * 6)], out temp.Image)) return; info.NPCs.Add(temp); } info.Index = ++SMain.EditEnvir.MapIndex; SMain.EditEnvir.MapInfoList.Add(info); }
private void UpdateSafeZoneInterface() { if (_selectedMapInfos.Count != 1) { SafeZoneInfoListBox.Items.Clear(); if (_selectedSafeZoneInfos.Count > 0) _selectedSafeZoneInfos.Clear(); _info = null; SafeZoneInfoPanel.Enabled = false; SZXTextBox.Text = string.Empty; SZYTextBox.Text = string.Empty; StartPointCheckBox.CheckState = CheckState.Unchecked; return; } if (_info != _selectedMapInfos[0]) { SafeZoneInfoListBox.Items.Clear(); _info = _selectedMapInfos[0]; } if (SafeZoneInfoListBox.Items.Count != _info.SafeZones.Count) { SafeZoneInfoListBox.Items.Clear(); for (int i = 0; i < _info.SafeZones.Count; i++) SafeZoneInfoListBox.Items.Add(_info.SafeZones[i]); } _selectedSafeZoneInfos = SafeZoneInfoListBox.SelectedItems.Cast<SafeZoneInfo>().ToList(); if (_selectedSafeZoneInfos.Count == 0) { SafeZoneInfoPanel.Enabled = false; SZXTextBox.Text = string.Empty; SZYTextBox.Text = string.Empty; StartPointCheckBox.CheckState = CheckState.Unchecked; return; } SafeZoneInfo info = _selectedSafeZoneInfos[0]; SafeZoneInfoPanel.Enabled = true; SZXTextBox.Text = info.Location.X.ToString(); SZYTextBox.Text = info.Location.Y.ToString(); StartPointCheckBox.CheckState = info.StartPoint ? CheckState.Checked : CheckState.Unchecked; SizeTextBox.Text = info.Size.ToString(); for (int i = 1; i < _selectedSafeZoneInfos.Count; i++) { info = _selectedSafeZoneInfos[i]; if (SZXTextBox.Text != info.Location.X.ToString()) SZXTextBox.Text = string.Empty; if (SZYTextBox.Text != info.Location.Y.ToString()) SZYTextBox.Text = string.Empty; if (StartPointCheckBox.Checked != info.StartPoint) StartPointCheckBox.CheckState = CheckState.Indeterminate; if (SizeTextBox.Text != info.Size.ToString()) SizeTextBox.Text = string.Empty; } }
private void UpdateRespawnInterface() { if (_selectedMapInfos.Count != 1) { RespawnInfoListBox.Items.Clear(); if (_selectedRespawnInfos.Count > 0) _selectedRespawnInfos.Clear(); _info = null; RespawnInfoPanel.Enabled = false; MonsterInfoComboBox.SelectedItem = null; RXTextBox.Text = string.Empty; RYTextBox.Text = string.Empty; CountTextBox.Text = string.Empty; SpreadTextBox.Text = string.Empty; DelayTextBox.Text = string.Empty; DirectionTextBox.Text = string.Empty; return; } if (_info != _selectedMapInfos[0]) { RespawnInfoListBox.Items.Clear(); _info = _selectedMapInfos[0]; } if (RespawnInfoListBox.Items.Count != _info.Respawns.Count) { RespawnInfoListBox.Items.Clear(); for (int i = 0; i < _info.Respawns.Count; i++) RespawnInfoListBox.Items.Add(_info.Respawns[i]); } _selectedRespawnInfos = RespawnInfoListBox.SelectedItems.Cast<RespawnInfo>().ToList(); if (_selectedRespawnInfos.Count == 0) { RespawnInfoPanel.Enabled = false; MonsterInfoComboBox.SelectedItem = null; RXTextBox.Text = string.Empty; RYTextBox.Text = string.Empty; CountTextBox.Text = string.Empty; SpreadTextBox.Text = string.Empty; DelayTextBox.Text = string.Empty; DirectionTextBox.Text = string.Empty; return; } RespawnInfo info = _selectedRespawnInfos[0]; RespawnInfoPanel.Enabled = true; MonsterInfoComboBox.SelectedItem = Envir.MonsterInfoList.FirstOrDefault(x => x.Index == info.MonsterIndex); RXTextBox.Text = info.Location.X.ToString(); RYTextBox.Text = info.Location.Y.ToString(); CountTextBox.Text = info.Count.ToString(); SpreadTextBox.Text = info.Spread.ToString(); DelayTextBox.Text = info.Delay.ToString(); DirectionTextBox.Text = info.Direction.ToString(); for (int i = 1; i < _selectedRespawnInfos.Count; i++) { info = _selectedRespawnInfos[i]; if (MonsterInfoComboBox.SelectedItem != Envir.MonsterInfoList.FirstOrDefault(x => x.Index == info.MonsterIndex)) MonsterInfoComboBox.SelectedItem = null; if (RXTextBox.Text != info.Location.X.ToString()) RXTextBox.Text = string.Empty; if (RYTextBox.Text != info.Location.Y.ToString()) RYTextBox.Text = string.Empty; if (CountTextBox.Text != info.Count.ToString()) CountTextBox.Text = string.Empty; if (SpreadTextBox.Text != info.Spread.ToString()) SpreadTextBox.Text = string.Empty; if (DelayTextBox.Text != info.Delay.ToString()) DelayTextBox.Text = string.Empty; if (DirectionTextBox.Text != info.Direction.ToString()) DirectionTextBox.Text = string.Empty; } }
private void UpdateNPCInterface() { if (_selectedMapInfos.Count != 1) { NPCInfoListBox.Items.Clear(); if (_selectedNPCInfos.Count > 0) _selectedNPCInfos.Clear(); _info = null; NPCInfoPanel.Enabled = false; NFileNameTextBox.Text = string.Empty; NNameTextBox.Text = string.Empty; NXTextBox.Text = string.Empty; NYTextBox.Text = string.Empty; NImageTextBox.Text = string.Empty; NRateTextBox.Text = string.Empty; return; } if (_info != _selectedMapInfos[0]) { NPCInfoListBox.Items.Clear(); _info = _selectedMapInfos[0]; } if (NPCInfoListBox.Items.Count != _info.NPCs.Count) { NPCInfoListBox.Items.Clear(); for (int i = 0; i < _info.NPCs.Count; i++) NPCInfoListBox.Items.Add(_info.NPCs[i]); } _selectedNPCInfos = NPCInfoListBox.SelectedItems.Cast<NPCInfo>().ToList(); if (_selectedNPCInfos.Count == 0) { NPCInfoPanel.Enabled = false; NFileNameTextBox.Text = string.Empty; NNameTextBox.Text = string.Empty; NXTextBox.Text = string.Empty; NYTextBox.Text = string.Empty; NImageTextBox.Text = string.Empty; NRateTextBox.Text = string.Empty; return; } NPCInfo info = _selectedNPCInfos[0]; NPCInfoPanel.Enabled = true; NFileNameTextBox.Text = info.FileName; NNameTextBox.Text = info.Name; NXTextBox.Text = info.Location.X.ToString(); NYTextBox.Text = info.Location.Y.ToString(); NImageTextBox.Text = info.Image.ToString(); NRateTextBox.Text = info.Rate.ToString(); for (int i = 1; i < _selectedNPCInfos.Count; i++) { info = _selectedNPCInfos[i]; if (NFileNameTextBox.Text != info.FileName) NFileNameTextBox.Text = string.Empty; if (NNameTextBox.Text != info.Name) NNameTextBox.Text = string.Empty; if (NXTextBox.Text != info.Location.X.ToString()) NXTextBox.Text = string.Empty; if (NYTextBox.Text != info.Location.Y.ToString()) NYTextBox.Text = string.Empty; if (NImageTextBox.Text != info.Image.ToString()) NImageTextBox.Text = string.Empty; if (NRateTextBox.Text != info.Rate.ToString()) NRateTextBox.Text = string.Empty; } }
private void UpdateMovementInterface() { if (_selectedMapInfos.Count != 1) { MovementInfoListBox.Items.Clear(); if (_selectedMovementInfos.Count > 0) _selectedMovementInfos.Clear(); _info = null; MovementInfoPanel.Enabled = false; SourceXTextBox.Text = string.Empty; SourceYTextBox.Text = string.Empty; DestMapComboBox.SelectedItem = null; DestXTextBox.Text = string.Empty; DestYTextBox.Text = string.Empty; return; } if (_info != _selectedMapInfos[0]) { MovementInfoListBox.Items.Clear(); _info = _selectedMapInfos[0]; } if (MovementInfoListBox.Items.Count != _info.Movements.Count) { MovementInfoListBox.Items.Clear(); for (int i = 0; i < _info.Movements.Count; i++) MovementInfoListBox.Items.Add(_info.Movements[i]); } _selectedMovementInfos = MovementInfoListBox.SelectedItems.Cast<MovementInfo>().ToList(); if (_selectedMovementInfos.Count == 0) { MovementInfoPanel.Enabled = false; SourceXTextBox.Text = string.Empty; SourceYTextBox.Text = string.Empty; DestMapComboBox.SelectedItem = null; DestXTextBox.Text = string.Empty; DestYTextBox.Text = string.Empty; return; } MovementInfo info = _selectedMovementInfos[0]; MovementInfoPanel.Enabled = true; SourceXTextBox.Text = info.Source.X.ToString(); SourceYTextBox.Text = info.Destination.Y.ToString(); DestMapComboBox.SelectedItem = Envir.MapInfoList.FirstOrDefault(x => x.Index == info.MapIndex); DestXTextBox.Text = info.Destination.X.ToString(); DestYTextBox.Text = info.Destination.Y.ToString(); for (int i = 1; i < _selectedMovementInfos.Count; i++) { info = _selectedMovementInfos[i]; SourceXTextBox.Text = info.Source.X.ToString(); SourceYTextBox.Text = info.Source.Y.ToString(); DestMapComboBox.SelectedItem = Envir.MapInfoList.FirstOrDefault(x => x.Index == info.MapIndex); DestXTextBox.Text = info.Destination.X.ToString(); DestYTextBox.Text = info.Destination.Y.ToString(); if (SourceXTextBox.Text != info.Source.X.ToString()) SourceXTextBox.Text = string.Empty; if (SourceYTextBox.Text != info.Source.Y.ToString()) SourceYTextBox.Text = string.Empty; if (DestMapComboBox.SelectedItem != Envir.MapInfoList.FirstOrDefault(x => x.Index == info.MapIndex)) DestMapComboBox.SelectedItem = null; if (DestXTextBox.Text != info.Destination.X.ToString()) DestXTextBox.Text = string.Empty; if (DestYTextBox.Text != info.Destination.Y.ToString()) DestYTextBox.Text = string.Empty; } }
private void ImportMapInfoButton_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "Text File|*.txt"; ofd.ShowDialog(); if (ofd.FileName == string.Empty) return; MirForms.ConvertMapInfo.Path = ofd.FileName; MirForms.ConvertMapInfo.Start(Envir); for (int i = 0; i < MirForms.ConvertMapInfo.MapInfo.Count; i++) { MapInfo mi = new MapInfo { Index = ++Envir.MapIndex, FileName = MirForms.ConvertMapInfo.MapInfo[i].MapFile, Title = MirForms.ConvertMapInfo.MapInfo[i].MapName.Replace('*', ' '), NoTeleport = MirForms.ConvertMapInfo.MapInfo[i].NoTeleport, NoReconnect = MirForms.ConvertMapInfo.MapInfo[i].NoReconnect, NoRandom = MirForms.ConvertMapInfo.MapInfo[i].NoRandom, NoEscape = MirForms.ConvertMapInfo.MapInfo[i].NoEscape, NoRecall = MirForms.ConvertMapInfo.MapInfo[i].NoRecall, NoDrug = MirForms.ConvertMapInfo.MapInfo[i].NoDrug, NoPosition = MirForms.ConvertMapInfo.MapInfo[i].NoPositionMove, NoThrowItem = MirForms.ConvertMapInfo.MapInfo[i].NoThrowItem, NoDropPlayer = MirForms.ConvertMapInfo.MapInfo[i].NoPlayerDrop, NoDropMonster = MirForms.ConvertMapInfo.MapInfo[i].NoMonsterDrop, NoNames = MirForms.ConvertMapInfo.MapInfo[i].NoNames, Fight = MirForms.ConvertMapInfo.MapInfo[i].Fight, NoFight = MirForms.ConvertMapInfo.MapInfo[i].NoFight, Fire = MirForms.ConvertMapInfo.MapInfo[i].Fire, Lightning = MirForms.ConvertMapInfo.MapInfo[i].Lightning, Light = MirForms.ConvertMapInfo.MapInfo[i].Light, MiniMap = MirForms.ConvertMapInfo.MapInfo[i].MiniMapNumber, BigMap = MirForms.ConvertMapInfo.MapInfo[i].BigMapNumber, Music = MirForms.ConvertMapInfo.MapInfo[i].MusicNumber, MineIndex = (byte)MirForms.ConvertMapInfo.MapInfo[i].MineIndex, }; if (mi.NoReconnect == true) mi.NoReconnectMap = MirForms.ConvertMapInfo.MapInfo[i].ReconnectMap; if (mi.Fire == true) mi.FireDamage = MirForms.ConvertMapInfo.MapInfo[i].FireDamage; if (mi.Lightning == true) mi.LightningDamage = MirForms.ConvertMapInfo.MapInfo[i].LightningDamage; if (MirForms.ConvertMapInfo.MapInfo[i].MapLight == true) mi.MapDarkLight = MirForms.ConvertMapInfo.MapInfo[i].MapLightValue; Envir.MapInfoList.Add(mi); } for (int j = 0; j < MirForms.ConvertMapInfo.MapMovements.Count; j++) { try { MovementInfo newmoveinfo = new MovementInfo(); newmoveinfo.MapIndex = Convert.ToInt16(MirForms.ConvertMapInfo.MapMovements[j].toMap); newmoveinfo.Source = new Point (Convert.ToInt16(MirForms.ConvertMapInfo.MapMovements[j].fromX), (Convert.ToInt16(MirForms.ConvertMapInfo.MapMovements[j].fromY))); newmoveinfo.Destination = new Point (Convert.ToInt16(MirForms.ConvertMapInfo.MapMovements[j].toX), (Convert.ToInt16(MirForms.ConvertMapInfo.MapMovements[j].toY))); newmoveinfo.NeedHole = false; newmoveinfo.NeedMove = false; Envir.MapInfoList[Envir.MapInfoList.FindIndex(a => a.Index == (MirForms.ConvertMapInfo.MapMovements[j].fromIndex))].Movements.Add(newmoveinfo); } catch (Exception) { continue; } } for (int i = 0; i < MirForms.ConvertMapInfo.MineInfo.Count; i++) { MineZone mz = new MineZone(); try { mz.Location = MirForms.ConvertMapInfo.MineInfo[i].Location; mz.Size = (ushort)MirForms.ConvertMapInfo.MineInfo[i].Range; mz.Mine = (byte)MirForms.ConvertMapInfo.MineInfo[i].MineIndex; Envir.MapInfoList[MirForms.ConvertMapInfo.MineInfo[i].MapIndex - 1].MineZones.Add(mz); } catch (Exception) { continue; } } MirForms.ConvertMapInfo.End(); UpdateInterface(); MessageBox.Show("Map Info Import Complete"); }
private void UpdateMineZoneInterface() { if (_selectedMapInfos.Count != 1) { MZListlistBox.Items.Clear(); if (_selectedMineZones != null && _selectedMineZones.Count > 0) _selectedMineZones.Clear(); _info = null; MineZonepanel.Enabled = false; MZXtextBox.Text = string.Empty; MZYtextBox.Text = string.Empty; MineZoneComboBox.SelectedItem = null; MZSizetextBox.Text = string.Empty; return; } if (_info != _selectedMapInfos[0]) { MZListlistBox.Items.Clear(); _info = _selectedMapInfos[0]; } if (MZListlistBox.Items.Count != _info.MineZones.Count) { MZListlistBox.Items.Clear(); for (int i = 0; i < _info.MineZones.Count; i++) MZListlistBox.Items.Add(_info.MineZones[i]); } _selectedMineZones = MZListlistBox.SelectedItems.Cast<MineZone>().ToList(); if (_selectedMineZones.Count == 0) { MineZonepanel.Enabled = false; MZXtextBox.Text = string.Empty; MZYtextBox.Text = string.Empty; MineZoneComboBox.SelectedItem = null; MZSizetextBox.Text = string.Empty; return; } MineZone info = _selectedMineZones[0]; MineZonepanel.Enabled = true; MZXtextBox.Text = info.Location.X.ToString(); MZYtextBox.Text = info.Location.Y.ToString(); MineZoneComboBox.SelectedIndex = info.Mine; MZSizetextBox.Text = info.Size.ToString(); for (int i = 1; i < _selectedMineZones.Count; i++) { info = _selectedMineZones[i]; if (MZXtextBox.Text != info.Location.X.ToString()) MZXtextBox.Text = string.Empty; if (MZYtextBox.Text != info.Location.Y.ToString()) MZYtextBox.Text = string.Empty; if (MineComboBox.SelectedIndex != info.Mine) MineComboBox.SelectedIndex = 1; if (MZSizetextBox.Text != info.Size.ToString()) MZSizetextBox.Text = string.Empty; } }
private void UpdateRespawnInterface() { if (_selectedMapInfos.Count != 1) { RespawnInfoListBox.Items.Clear(); if (_selectedRespawnInfos != null && _selectedRespawnInfos.Count > 0) _selectedRespawnInfos.Clear(); _info = null; RespawnInfoPanel.Enabled = false; MonsterInfoComboBox.SelectedItem = null; RXTextBox.Text = string.Empty; RYTextBox.Text = string.Empty; CountTextBox.Text = string.Empty; SpreadTextBox.Text = string.Empty; DelayTextBox.Text = string.Empty; chkrespawnsave.Enabled = false; chkRespawnEnableTick.Checked = false; chkrespawnsave.Checked = false; DirectionTextBox.Text = string.Empty; RoutePathTextBox.Text = string.Empty; Randomtextbox.Text = string.Empty; return; } if (_info != _selectedMapInfos[0]) { RespawnInfoListBox.Items.Clear(); _info = _selectedMapInfos[0]; } if (RespawnInfoListBox.Items.Count != _info.Respawns.Count) { RespawnInfoListBox.Items.Clear(); for (int i = 0; i < _info.Respawns.Count; i++) RespawnInfoListBox.Items.Add(_info.Respawns[i]); } _selectedRespawnInfos = RespawnInfoListBox.SelectedItems.Cast<RespawnInfo>().ToList(); if (_selectedRespawnInfos.Count == 0) { RespawnInfoPanel.Enabled = false; MonsterInfoComboBox.SelectedItem = null; RXTextBox.Text = string.Empty; RYTextBox.Text = string.Empty; CountTextBox.Text = string.Empty; SpreadTextBox.Text = string.Empty; DelayTextBox.Text = string.Empty; chkrespawnsave.Enabled = false; chkRespawnEnableTick.Checked = false; chkrespawnsave.Checked = false; DirectionTextBox.Text = string.Empty; RoutePathTextBox.Text = string.Empty; Randomtextbox.Text = string.Empty; return; } RespawnInfo info = _selectedRespawnInfos[0]; RespawnInfoPanel.Enabled = true; MonsterInfoComboBox.SelectedItem = Envir.MonsterInfoList.FirstOrDefault(x => x.Index == info.MonsterIndex); RXTextBox.Text = info.Location.X.ToString(); RYTextBox.Text = info.Location.Y.ToString(); CountTextBox.Text = info.Count.ToString(); SpreadTextBox.Text = info.Spread.ToString(); DelayTextBox.Text = info.RespawnTicks == 0 ? info.Delay.ToString() : info.RespawnTicks.ToString(); chkrespawnsave.Enabled = info.RespawnTicks != 0; chkRespawnEnableTick.Checked = info.RespawnTicks != 0; chkrespawnsave.Checked = ((info.RespawnTicks != 0) && (info.SaveRespawnTime)) ? true : false; DirectionTextBox.Text = info.Direction.ToString(); RoutePathTextBox.Text = info.RoutePath; Randomtextbox.Enabled = info.RespawnTicks == 0; Randomtextbox.Text = info.RandomDelay.ToString(); for (int i = 1; i < _selectedRespawnInfos.Count; i++) { info = _selectedRespawnInfos[i]; if (MonsterInfoComboBox.SelectedItem != Envir.MonsterInfoList.FirstOrDefault(x => x.Index == info.MonsterIndex)) MonsterInfoComboBox.SelectedItem = null; if (RXTextBox.Text != info.Location.X.ToString()) RXTextBox.Text = string.Empty; if (RYTextBox.Text != info.Location.Y.ToString()) RYTextBox.Text = string.Empty; if (CountTextBox.Text != info.Count.ToString()) CountTextBox.Text = string.Empty; if (SpreadTextBox.Text != info.Spread.ToString()) SpreadTextBox.Text = string.Empty; if (chkRespawnEnableTick.Checked != (info.RespawnTicks == 0)) { DelayTextBox.Text = string.Empty; chkrespawnsave.Enabled = false; chkrespawnsave.Checked = false; Randomtextbox.Text = string.Empty; } else { if (chkRespawnEnableTick.Checked) { if (DelayTextBox.Text != info.RespawnTicks.ToString()) DelayTextBox.Text = string.Empty; if (chkrespawnsave.Checked != info.SaveRespawnTime) { chkrespawnsave.Enabled = false; chkrespawnsave.Checked = false; } Randomtextbox.Enabled = false; Randomtextbox.Text = string.Empty; } else { if (DelayTextBox.Text != info.Delay.ToString()) DelayTextBox.Text = string.Empty; chkrespawnsave.Enabled = false; chkrespawnsave.Checked = false; if (Randomtextbox.Text != info.RandomDelay.ToString()) Randomtextbox.Text = string.Empty; } } if (DirectionTextBox.Text != info.Direction.ToString()) DirectionTextBox.Text = string.Empty; if (RoutePathTextBox.Text != info.RoutePath) RoutePathTextBox.Text = string.Empty; } }
public Map(MapInfo info) { Info = info; }
/* Notes Create new instance from here if all current maps are full Destroy maps when instance is empty - process loop in map or here? Change NPC INSTANCEMOVE to move and create next available instance */ public InstanceInfo(MapInfo mapInfo, Map map) { MapInfo = mapInfo; AddMap(map); }