public static void AppendChangeWeatherAction(StoryBuilderSegment story, Enums.Weather weather) { StorySegment segment = new StorySegment(); segment.Action = Enums.StoryAction.ChangeWeather; segment.AddParameter("Weather", ((int)weather).ToString()); story.Segments.Add(segment); }
public void SetWeather(Enums.Weather weather) { //weather = Enums.Weather.Raining; if (Weather != null) { if (Weather.ID != weather) { Weather.FreeResources(); } else { // Same weather as the active one, don't do anything return; } } switch (weather) { case Enums.Weather.Ambiguous: case Enums.Weather.None: { Weather = null; } break; case Enums.Weather.Raining: { Weather = new Graphics.Effects.Weather.Rain(); } break; case Enums.Weather.Snowing: { Weather = new Graphics.Effects.Weather.Snow(); } break; case Enums.Weather.Thunder: { Weather = new Graphics.Effects.Weather.Thunder(); } break; case Enums.Weather.Hail: { Weather = new Graphics.Effects.Weather.Hail(); } break; case Enums.Weather.DiamondDust: { Weather = new Graphics.Effects.Weather.DiamondDust(); } break; case Enums.Weather.Cloudy: { Weather = new Graphics.Effects.Weather.Cloudy(); } break; case Enums.Weather.Fog: { Weather = new Graphics.Effects.Weather.Fog(); } break; case Enums.Weather.Sunny: { Weather = new Graphics.Effects.Weather.Sunny(); } break; case Enums.Weather.Sandstorm: { Weather = new Graphics.Effects.Weather.Sandstorm(); } break; case Enums.Weather.Snowstorm: { Weather = new Graphics.Effects.Weather.Snowstorm(); } break; case Enums.Weather.Ashfall: { Weather = new Graphics.Effects.Weather.Ashfall(); } break; default: { } break; } }
public void Save(int rdungeonNum, int floorNum) { if (!Directory.Exists(Paths.DataPath + "RDungeon\\" + rdungeonNum)) { Directory.CreateDirectory(Paths.DataPath + "RDungeon\\" + rdungeonNum); } using (XmlWriter writer = XmlWriter.Create(Paths.DataPath + "RDungeon\\" + rdungeonNum + "\\" + floorNum + ".xml", Logger.XmlWriterSettings)) { writer.WriteStartDocument(); writer.WriteStartElement("FloorEntry"); #region Basic data writer.WriteStartElement("General"); writer.WriteElementString("Algorithm", Algorithm.ToString()); writer.WriteElementString("Darkness", Darkness.ToString()); writer.WriteElementString("Music", Music); writer.WriteElementString("NpcSpawnTime", NpcSpawnTime.ToString()); writer.WriteElementString("NpcMin", NpcMin.ToString()); writer.WriteElementString("NpcMax", NpcMax.ToString()); writer.WriteEndElement(); #endregion #region FloorSettings writer.WriteStartElement("FloorSettings"); for (int i = 0; i < FloorSettings.Count; i++) { string key = FloorSettings.Keys.ElementAt(i); writer.WriteElementString(key, FloorSettings[key].ToString()); } writer.WriteEndElement(); #endregion #region TileLayers writer.WriteStartElement("TileLayers"); for (int i = 0; i < TileLayers.Count; i++) { string key = TileLayers.Keys.ElementAt(i); List <Maps.TileAnim> layers = TileLayers[key]; writer.WriteStartElement(key); for (int j = 0; j < layers.Count; j++) { writer.WriteStartElement("Element"); writer.WriteElementString("TextureX", layers[j].Frames[0].Texture.X.ToString()); writer.WriteElementString("TextureY", layers[j].Frames[0].Texture.Y.ToString()); writer.WriteElementString("Sheet", layers[j].Frames[0].Sheet.ToString()); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteEndElement(); #endregion #region TileData writer.WriteStartElement("TileData"); for (int i = 0; i < TileData.Count; i++) { string key = TileData.Keys.ElementAt(i); List <Maps.TileData> data = TileData[key]; writer.WriteStartElement(key); for (int j = 0; j < data.Count; j++) { writer.WriteStartElement("Element"); writer.WriteElementString("Type", data[j].Type.ToString()); writer.WriteElementString("Data1", data[j].Data1.ToString()); writer.WriteElementString("Data2", data[j].Data2.ToString()); writer.WriteElementString("Data3", data[j].Data3.ToString()); writer.WriteElementString("String", data[j].String1); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteEndElement(); #endregion #region Weather writer.WriteStartElement("FloorWeather"); for (int i = 0; i < FloorWeather.Count; i++) { writer.WriteStartElement("Weather"); Enums.Weather key = FloorWeather.Keys.ElementAt(i); writer.WriteElementString(key.ToString(), FloorWeather[key].ToString()); writer.WriteEndElement(); } writer.WriteEndElement(); #endregion #region Items writer.WriteStartElement("Items"); for (int i = 0; i < Items.Count; i++) { string key = Items.Keys.ElementAt(i); List <Tuple <ItemPreset, int> > data = Items[key]; writer.WriteStartElement(key); for (int j = 0; j < data.Count; j++) { writer.WriteStartElement("Element"); writer.WriteElementString("ItemNum", data[j].Item1.ItemNum.ToString()); writer.WriteElementString("MinAmount", data[j].Item1.MinAmount.ToString()); writer.WriteElementString("MaxAmount", data[j].Item1.MaxAmount.ToString()); writer.WriteElementString("AppearanceRate", data[j].Item2.ToString()); writer.WriteElementString("StickyRate", data[j].Item1.StickyRate.ToString()); writer.WriteElementString("Tag", data[j].Item1.Tag); writer.WriteElementString("Hidden", data[j].Item1.Hidden.ToString()); writer.WriteElementString("Ground", data[j].Item1.OnGround.ToString()); writer.WriteElementString("Water", data[j].Item1.OnWater.ToString()); writer.WriteElementString("Wall", data[j].Item1.OnWall.ToString()); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteEndElement(); #endregion #region Npcs writer.WriteStartElement("Npcs"); for (int i = 0; i < Npcs.Count; i++) { string key = Npcs.Keys.ElementAt(i); List <Tuple <NpcPreset, int> > data = Npcs[key]; writer.WriteStartElement(key); for (int j = 0; j < data.Count; j++) { writer.WriteStartElement("Element"); writer.WriteElementString("NpcNum", data[j].Item1.NpcNum.ToString()); writer.WriteElementString("SpawnX", data[j].Item1.SpawnX.ToString()); writer.WriteElementString("SpawnY", data[j].Item1.SpawnY.ToString()); writer.WriteElementString("MinLevel", data[j].Item1.MinLevel.ToString()); writer.WriteElementString("MaxLevel", data[j].Item1.MaxLevel.ToString()); writer.WriteElementString("AppearanceRate", data[j].Item2.ToString()); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteEndElement(); #endregion #region Rooms writer.WriteStartElement("Rooms"); for (int i = 0; i < Rooms.Count; i++) { string key = Rooms.Keys.ElementAt(i); List <Tuple <int, int> > data = Rooms[key]; writer.WriteStartElement(key); for (int j = 0; j < data.Count; j++) { writer.WriteStartElement("Element"); writer.WriteElementString("RoomNum", data[j].Item1.ToString()); writer.WriteElementString("AppearanceRate", data[j].Item2.ToString()); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteEndElement(); #endregion writer.WriteEndElement(); writer.WriteEndDocument(); } }
public void LoadFromPropertiesClass(MapProperties properties) { Name = properties.Name; Right = properties.Right; Left = properties.Left; Up = properties.Up; Down = properties.Down; Music = properties.Music; MaxX = properties.MaxX; MaxY = properties.MaxY; Moral = properties.Moral; Weather = properties.Weather; Darkness = properties.Darkness; Indoors = properties.Indoors; HungerEnabled = properties.Belly; RecruitEnabled = properties.Recruit; ExpEnabled = properties.Exp; TimeLimit = properties.TimeLimit; Instanced = properties.Instanced; DungeonIndex = properties.DungeonIndex; MinNpcs = properties.MinNpcs; MaxNpcs = properties.MaxNpcs; NpcSpawnTime = properties.NpcSpawnTime; Npc = new List<MapNpcSettings>(); for (int i = 0; i < properties.Npcs.Count; i++) { Npc.Add(new MapNpcSettings()); Npc[i].NpcNum = properties.Npcs[i].NpcNum; Npc[i].SpawnX = properties.Npcs[i].SpawnX; Npc[i].SpawnY = properties.Npcs[i].SpawnY; Npc[i].MinLevel = properties.Npcs[i].MinLevel; Npc[i].MaxLevel = properties.Npcs[i].MaxLevel; Npc[i].AppearanceRate = properties.Npcs[i].AppearanceRate; Npc[i].StartStatus = properties.Npcs[i].StartStatus; Npc[i].StartStatusCounter = properties.Npcs[i].StartStatusCounter; Npc[i].StartStatusChance = properties.Npcs[i].StartStatusChance; } }