public static InventoryItem ExistItem(InventoryItem item, Character character, StatsManager.Position position = StatsManager.Position.None, int quantity = 1) { return DatabaseProvider.InventoryItems.Find( x => x.ItemInfos == item.ItemInfos && string.Join(",", x.Stats).Equals(string.Join(",", item.Stats)) && x.Character == character && x.ItemPosition == position && x.Quantity >= quantity); }
public InventoryItem Copy(StatsManager.Position position = StatsManager.Position.None, int quantity = 1) { return new InventoryItem { Id = DatabaseProvider.InventoryItems.Count > 0 ? DatabaseProvider.InventoryItems.OrderByDescending(x => x.Id).First().Id + 1 : 1, Character = this.Character, ItemInfos = this.ItemInfos, Quantity = quantity, Stats = this.Stats, ItemPosition = position, }; }
public static void Update(StatsManager stats) { const string query = "UPDATE character_stats SET Vitality=@Vitality, Wisdom=@Wisdom," + "Strenght=@Strenght, Intelligence=@Intelligence, Chance=@Chance, Agility=@Agility " + "WHERE id=@Id"; Base.Repository.ExecuteQuery(query, GameDbManager.GetDatabaseConnection(), (command) => { command.Parameters.Add(new MySqlParameter("@Id", stats.Id)); command.Parameters.Add(new MySqlParameter("@Vitality", stats.Vitality)); command.Parameters.Add(new MySqlParameter("@Wisdom", stats.Wisdom)); command.Parameters.Add(new MySqlParameter("@Strenght", stats.Strength)); command.Parameters.Add(new MySqlParameter("@Intelligence", stats.Intelligence)); command.Parameters.Add(new MySqlParameter("@Chance", stats.Chance)); command.Parameters.Add(new MySqlParameter("@Agility", stats.Agility)); }); }
public static void Create(StatsManager stats) { const string query = "INSERT INTO character_stats SET Id=@Id, Vitality=@Vitality, Wisdom=@Wisdom," + "Strenght=@Strenght, Intelligence=@Intelligence, Chance=@Chance, Agility=@Agility"; Base.Repository.ExecuteQuery(query, GameDbManager.GetDatabaseConnection(), (command) => { command.Parameters.Add(new MySqlParameter("@Id", stats.Id)); command.Parameters.Add(new MySqlParameter("@Vitality", stats.Vitality)); command.Parameters.Add(new MySqlParameter("@Wisdom", stats.Wisdom)); command.Parameters.Add(new MySqlParameter("@Strenght", stats.Strength)); command.Parameters.Add(new MySqlParameter("@Intelligence", stats.Intelligence)); command.Parameters.Add(new MySqlParameter("@Chance", stats.Chance)); command.Parameters.Add(new MySqlParameter("@Agility", stats.Agility)); }); lock (DatabaseProvider.StatsManager) DatabaseProvider.StatsManager.Add(stats); }
public void GenerateInfos(int gmLevel) { // Map switch (Classe) { case Class.Feca: Map = DatabaseProvider.Maps.Find(x => x.Id == int.Parse(Config.Get("StartMap_Feca"))); MapCell = int.Parse(Config.Get("StartCell_Feca")); Direction = int.Parse(Config.Get("StartDir_Feca")); break; case Class.Osamodas: Map = DatabaseProvider.Maps.Find(x => x.Id == int.Parse(Config.Get("StartMap_Osa"))); MapCell = int.Parse(Config.Get("StartCell_Osa")); Direction = int.Parse(Config.Get("StartDir_Osa")); break; case Class.Enutrof: Map = DatabaseProvider.Maps.Find(x => x.Id == int.Parse(Config.Get("StartMap_Enu"))); MapCell = int.Parse(Config.Get("StartCell_Enu")); Direction = int.Parse(Config.Get("StartDir_Enu")); break; case Class.Sram: Map = DatabaseProvider.Maps.Find(x => x.Id == int.Parse(Config.Get("StartMap_Sram"))); MapCell = int.Parse(Config.Get("StartCell_Sram")); Direction = int.Parse(Config.Get("StartDir_Sram")); break; case Class.Xelor: Map = DatabaseProvider.Maps.Find(x => x.Id == int.Parse(Config.Get("StartMap_Xel"))); MapCell = int.Parse(Config.Get("StartCell_Xel")); Direction = int.Parse(Config.Get("StartDir_Xel")); break; case Class.Ecaflip: Map = DatabaseProvider.Maps.Find(x => x.Id == int.Parse(Config.Get("StartMap_Eca"))); MapCell = int.Parse(Config.Get("StartCell_Eca")); Direction = int.Parse(Config.Get("StartDir_Eca")); break; case Class.Eniripsa: Map = DatabaseProvider.Maps.Find(x => x.Id == int.Parse(Config.Get("StartMap_Eni"))); MapCell = int.Parse(Config.Get("StartCell_Eni")); Direction = int.Parse(Config.Get("StartDir_Eni")); break; case Class.Iop: Map = DatabaseProvider.Maps.Find(x => x.Id == int.Parse(Config.Get("StartMap_Iop"))); MapCell = int.Parse(Config.Get("StartCell_Iop")); Direction = int.Parse(Config.Get("StartDir_Iop")); break; case Class.Cra: Map = DatabaseProvider.Maps.Find(x => x.Id == int.Parse(Config.Get("StartMap_Cra"))); MapCell = int.Parse(Config.Get("StartCell_Cra")); Direction = int.Parse(Config.Get("StartDir_Cra")); break; case Class.Sadida: Map = DatabaseProvider.Maps.Find(x => x.Id == int.Parse(Config.Get("StartMap_Sadi"))); MapCell = int.Parse(Config.Get("StartCell_Sadi")); Direction = int.Parse(Config.Get("StartDir_Sadi")); break; case Class.Sacrieur: Map = DatabaseProvider.Maps.Find(x => x.Id == int.Parse(Config.Get("StartMap_Sacri"))); MapCell = int.Parse(Config.Get("StartCell_Sacri")); Direction = int.Parse(Config.Get("StartDir_Sacri")); break; case Class.Pandawa: Map = DatabaseProvider.Maps.Find(x => x.Id == int.Parse(Config.Get("StartMap_Panda"))); MapCell = int.Parse(Config.Get("StartCell_Panda")); Direction = int.Parse(Config.Get("StartDir_Panda")); break; } // Create alignment row in database & list var alignmentId = DatabaseProvider.StatsManager.Count > 0 ? DatabaseProvider.StatsManager.OrderByDescending(x => x.Id).First().Id + 1 : 1; Alignment = new Alignment.Alignment {Id = alignmentId}; AlignmentRepository.Create(Alignment); // Create stats row in database & list var statsId = DatabaseProvider.StatsManager.Count > 0 ? DatabaseProvider.StatsManager.OrderByDescending(x => x.Id).First().Id + 1 : 1; Stats = new StatsManager {Id = statsId}; StatsRepository.Create(Stats); Channels = (gmLevel > 0) ? Channel.Headers.Select(channel => new Channel { Header = (Channel.ChannelHeader) channel }).ToList() : Channel.Headers.Where(x => x != (char) Channel.ChannelHeader.AdminChannel) .Select(channel => new Channel { Header = (Channel.ChannelHeader) channel }).ToList(); }
public static void Remove(StatsManager stats) { }