private void add_new_character() { // Race var selected_race = Race.current_race; // Class var selected_class = Classe.current_class; var selected_multiclass = new multiclass(); //selected_multiclass.level_class = new List<Tuple<uint, complete_class>>(new Tuple<uint, complete_class>(1, selected_class)) character new_character = new character() { account = this.account, /*race = selected_race, classes = selected_multiclass*/ }; /*{ name = , avatar = , account = this.account, race = selected_race, classes = selected_multiclass, stats = , gifts = , skills = , languages = , aptitudes = , inventory = , effects = , deity = , sex = , background = , personnality = , hair = , eyes = , skin = , height = , weight = , age = , height_category = , };*/ client.CharacterCreate(new_character); }
public multiclass GetMulticlass(uint id_character) { var multiclass = new multiclass(); if (id_character <= 0) return multiclass; multiclass.id_character = id_character; var query = @"Select multiclasses.class, multiclasses.level from dnd.multiclasses where dnd.multiclasses.`character` = " + id_character+";"; var classes = new List<Tuple<uint, uint>>(); if (OpenConnection()) { using (MySqlCommand cmd = new MySqlCommand(query, connection)) { MySqlDataReader dataReader = cmd.ExecuteReader(); if (dataReader.HasRows) { while (dataReader.Read()) { classes.Add(new Tuple<uint, uint>( dataReader.GetUInt16("level"), dataReader.GetUInt16("class") )); } } dataReader.Close(); } this.CloseConnection(); } multiclass.level_class = new List<Tuple<uint, complete_class, template>>(); foreach (var c in classes) { // A multiclass is defined by a list of a level, a class and the corresponding template multiclass.level_class.Add(new Tuple<uint, complete_class, template>( c.Item1, GetClass(c.Item2), GetClassTemplate(c.Item2, c.Item1) )); } return multiclass; }