/// <summary>
/// Reads the values from an <see cref="IDataRecord"/> and assigns the read values to this
/// object's properties. The database column's name is used to as the key, so the value
/// will not be found if any aliases are used or not all columns were selected.
/// </summary>
/// <param name="source">The object to add the extension method to.</param>
/// <param name="dataRecord">The <see cref="IDataRecord"/> to read the values from. Must already be ready to be read from.</param>
        public static void ReadValues(this WorldStatsUserLevelTable source, System.Data.IDataRecord dataRecord)
        {
            System.Int32 i;

            i = dataRecord.GetOrdinal("character_id");

            source.CharacterID = (DemoGame.CharacterID)(DemoGame.CharacterID) dataRecord.GetInt32(i);

            i = dataRecord.GetOrdinal("id");

            source.ID = (System.UInt32)(System.UInt32) dataRecord.GetUInt32(i);

            i = dataRecord.GetOrdinal("level");

            source.Level = (System.Int16)(System.Int16) dataRecord.GetInt16(i);

            i = dataRecord.GetOrdinal("map_id");

            source.MapID = (System.Nullable <NetGore.World.MapID>)(System.Nullable <NetGore.World.MapID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));

            i = dataRecord.GetOrdinal("when");

            source.When = (System.DateTime)(System.DateTime) dataRecord.GetDateTime(i);

            i = dataRecord.GetOrdinal("x");

            source.X = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);

            i = dataRecord.GetOrdinal("y");

            source.Y = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);
        }
Beispiel #2
0
/// <summary>
/// Reads the values from an <see cref="IDataReader"/> and assigns the read values to this
/// object's properties. Unlike ReadValues(), this method not only doesn't require
/// all values to be in the <see cref="IDataReader"/>, but also does not require the values in
/// the <see cref="IDataReader"/> to be a defined field for the table this class represents.
/// Because of this, you need to be careful when using this method because values
/// can easily be skipped without any indication.
/// </summary>
/// <param name="source">The object to add the extension method to.</param>
/// <param name="dataRecord">The <see cref="IDataReader"/> to read the values from. Must already be ready to be read from.</param>
        public static void TryReadValues(this MapSpawnTable source, System.Data.IDataRecord dataRecord)
        {
            for (int i = 0; i < dataRecord.FieldCount; i++)
            {
                switch (dataRecord.GetName(i))
                {
                case "amount":
                    source.Amount = (System.Byte)(System.Byte) dataRecord.GetByte(i);
                    break;


                case "character_template_id":
                    source.CharacterTemplateID = (DemoGame.CharacterTemplateID)(DemoGame.CharacterTemplateID) dataRecord.GetUInt16(i);
                    break;


                case "direction_id":
                    source.DirectionId = (NetGore.Direction)(NetGore.Direction) dataRecord.GetInt16(i);
                    break;


                case "height":
                    source.Height = (System.Nullable <System.UInt16>)(System.Nullable <System.UInt16>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));
                    break;


                case "id":
                    source.ID = (DemoGame.MapSpawnValuesID)(DemoGame.MapSpawnValuesID) dataRecord.GetInt32(i);
                    break;


                case "map_id":
                    source.MapID = (NetGore.World.MapID)(NetGore.World.MapID) dataRecord.GetUInt16(i);
                    break;


                case "respawn":
                    source.Respawn = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);
                    break;


                case "width":
                    source.Width = (System.Nullable <System.UInt16>)(System.Nullable <System.UInt16>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));
                    break;


                case "x":
                    source.X = (System.Nullable <System.UInt16>)(System.Nullable <System.UInt16>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));
                    break;


                case "y":
                    source.Y = (System.Nullable <System.UInt16>)(System.Nullable <System.UInt16>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));
                    break;
                }
            }
        }
/// <summary>
/// Reads the values from an <see cref="IDataReader"/> and assigns the read values to this
/// object's properties. Unlike ReadValues(), this method not only doesn't require
/// all values to be in the <see cref="IDataReader"/>, but also does not require the values in
/// the <see cref="IDataReader"/> to be a defined field for the table this class represents.
/// Because of this, you need to be careful when using this method because values
/// can easily be skipped without any indication.
/// </summary>
/// <param name="source">The object to add the extension method to.</param>
/// <param name="dataRecord">The <see cref="IDataReader"/> to read the values from. Must already be ready to be read from.</param>
        public static void TryReadValues(this WorldStatsNpcKillUserTable source, System.Data.IDataRecord dataRecord)
        {
            for (int i = 0; i < dataRecord.FieldCount; i++)
            {
                switch (dataRecord.GetName(i))
                {
                case "id":
                    source.ID = (System.UInt32)(System.UInt32) dataRecord.GetUInt32(i);
                    break;


                case "map_id":
                    source.MapID = (System.Nullable <NetGore.World.MapID>)(System.Nullable <NetGore.World.MapID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));
                    break;


                case "npc_template_id":
                    source.NPCTemplateID = (System.Nullable <DemoGame.CharacterTemplateID>)(System.Nullable <DemoGame.CharacterTemplateID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));
                    break;


                case "npc_x":
                    source.NpcX = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);
                    break;


                case "npc_y":
                    source.NpcY = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);
                    break;


                case "user_id":
                    source.UserID = (DemoGame.CharacterID)(DemoGame.CharacterID) dataRecord.GetInt32(i);
                    break;


                case "user_level":
                    source.UserLevel = (System.Int16)(System.Int16) dataRecord.GetInt16(i);
                    break;


                case "user_x":
                    source.UserX = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);
                    break;


                case "user_y":
                    source.UserY = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);
                    break;


                case "when":
                    source.When = (System.DateTime)(System.DateTime) dataRecord.GetDateTime(i);
                    break;
                }
            }
        }
Beispiel #4
0
/// <summary>
/// Reads the values from an <see cref="IDataRecord"/> and assigns the read values to this
/// object's properties. The database column's name is used to as the key, so the value
/// will not be found if any aliases are used or not all columns were selected.
/// </summary>
/// <param name="source">The object to add the extension method to.</param>
/// <param name="dataRecord">The <see cref="IDataRecord"/> to read the values from. Must already be ready to be read from.</param>
        public static void ReadValues(this MapSpawnTable source, System.Data.IDataRecord dataRecord)
        {
            System.Int32 i;

            i = dataRecord.GetOrdinal("amount");

            source.Amount = (System.Byte)(System.Byte) dataRecord.GetByte(i);

            i = dataRecord.GetOrdinal("character_template_id");

            source.CharacterTemplateID = (DemoGame.CharacterTemplateID)(DemoGame.CharacterTemplateID) dataRecord.GetUInt16(i);

            i = dataRecord.GetOrdinal("direction_id");

            source.DirectionId = (NetGore.Direction)(NetGore.Direction) dataRecord.GetInt16(i);

            i = dataRecord.GetOrdinal("height");

            source.Height = (System.Nullable <System.UInt16>)(System.Nullable <System.UInt16>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));

            i = dataRecord.GetOrdinal("id");

            source.ID = (DemoGame.MapSpawnValuesID)(DemoGame.MapSpawnValuesID) dataRecord.GetInt32(i);

            i = dataRecord.GetOrdinal("map_id");

            source.MapID = (NetGore.World.MapID)(NetGore.World.MapID) dataRecord.GetUInt16(i);

            i = dataRecord.GetOrdinal("respawn");

            source.Respawn = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);

            i = dataRecord.GetOrdinal("width");

            source.Width = (System.Nullable <System.UInt16>)(System.Nullable <System.UInt16>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));

            i = dataRecord.GetOrdinal("x");

            source.X = (System.Nullable <System.UInt16>)(System.Nullable <System.UInt16>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));

            i = dataRecord.GetOrdinal("y");

            source.Y = (System.Nullable <System.UInt16>)(System.Nullable <System.UInt16>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));
        }
/// <summary>
/// Reads the values from an <see cref="IDataRecord"/> and assigns the read values to this
/// object's properties. The database column's name is used to as the key, so the value
/// will not be found if any aliases are used or not all columns were selected.
/// </summary>
/// <param name="source">The object to add the extension method to.</param>
/// <param name="dataRecord">The <see cref="IDataRecord"/> to read the values from. Must already be ready to be read from.</param>
        public static void ReadValues(this WorldStatsNpcKillUserTable source, System.Data.IDataRecord dataRecord)
        {
            System.Int32 i;

            i = dataRecord.GetOrdinal("id");

            source.ID = (System.UInt32)(System.UInt32) dataRecord.GetUInt32(i);

            i = dataRecord.GetOrdinal("map_id");

            source.MapID = (System.Nullable <NetGore.World.MapID>)(System.Nullable <NetGore.World.MapID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));

            i = dataRecord.GetOrdinal("npc_template_id");

            source.NPCTemplateID = (System.Nullable <DemoGame.CharacterTemplateID>)(System.Nullable <DemoGame.CharacterTemplateID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));

            i = dataRecord.GetOrdinal("npc_x");

            source.NpcX = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);

            i = dataRecord.GetOrdinal("npc_y");

            source.NpcY = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);

            i = dataRecord.GetOrdinal("user_id");

            source.UserID = (DemoGame.CharacterID)(DemoGame.CharacterID) dataRecord.GetInt32(i);

            i = dataRecord.GetOrdinal("user_level");

            source.UserLevel = (System.Int16)(System.Int16) dataRecord.GetInt16(i);

            i = dataRecord.GetOrdinal("user_x");

            source.UserX = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);

            i = dataRecord.GetOrdinal("user_y");

            source.UserY = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);

            i = dataRecord.GetOrdinal("when");

            source.When = (System.DateTime)(System.DateTime) dataRecord.GetDateTime(i);
        }
Beispiel #6
0
/// <summary>
/// Reads the values from an <see cref="IDataRecord"/> and assigns the read values to this
/// object's properties. The database column's name is used to as the key, so the value
/// will not be found if any aliases are used or not all columns were selected.
/// </summary>
/// <param name="source">The object to add the extension method to.</param>
/// <param name="dataRecord">The <see cref="IDataRecord"/> to read the values from. Must already be ready to be read from.</param>
        public static void ReadValues(this ItemTable source, System.Data.IDataRecord dataRecord)
        {
            System.Int32 i;

            i = dataRecord.GetOrdinal("action_display_id");

            source.ActionDisplayID = (System.Nullable <NetGore.Features.ActionDisplays.ActionDisplayID>)(System.Nullable <NetGore.Features.ActionDisplays.ActionDisplayID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));

            i = dataRecord.GetOrdinal("amount");

            source.Amount = (System.Byte)(System.Byte) dataRecord.GetByte(i);

            i = dataRecord.GetOrdinal("description");

            source.Description = (System.String)(System.String) dataRecord.GetString(i);

            i = dataRecord.GetOrdinal("equipped_body");

            source.EquippedBody = (System.String)(System.String)(dataRecord.IsDBNull(i) ? (System.String)null : dataRecord.GetString(i));

            i = dataRecord.GetOrdinal("graphic");

            source.Graphic = (NetGore.GrhIndex)(NetGore.GrhIndex) dataRecord.GetUInt16(i);

            i = dataRecord.GetOrdinal("height");

            source.Height = (System.Byte)(System.Byte) dataRecord.GetByte(i);

            i = dataRecord.GetOrdinal("hp");

            source.HP = (DemoGame.SPValueType)(DemoGame.SPValueType) dataRecord.GetInt16(i);

            i = dataRecord.GetOrdinal("id");

            source.ID = (DemoGame.ItemID)(DemoGame.ItemID) dataRecord.GetInt32(i);

            i = dataRecord.GetOrdinal("item_template_id");

            source.ItemTemplateID = (System.Nullable <DemoGame.ItemTemplateID>)(System.Nullable <DemoGame.ItemTemplateID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));

            i = dataRecord.GetOrdinal("mp");

            source.MP = (DemoGame.SPValueType)(DemoGame.SPValueType) dataRecord.GetInt16(i);

            i = dataRecord.GetOrdinal("name");

            source.Name = (System.String)(System.String) dataRecord.GetString(i);

            i = dataRecord.GetOrdinal("range");

            source.Range = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);

            i = dataRecord.GetOrdinal("skill_id");

            source.SkillID = (System.Nullable <DemoGame.SkillType>)(System.Nullable <DemoGame.SkillType>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.Byte>)null : dataRecord.GetByte(i));

            i = dataRecord.GetOrdinal("stat_agi");

            source.SetStat((DemoGame.StatType)DemoGame.StatType.Agi, (System.Int32)(System.Int16) dataRecord.GetInt16(i));

            i = dataRecord.GetOrdinal("stat_defence");

            source.SetStat((DemoGame.StatType)DemoGame.StatType.Defence, (System.Int32)(System.Int16) dataRecord.GetInt16(i));

            i = dataRecord.GetOrdinal("stat_int");

            source.SetStat((DemoGame.StatType)DemoGame.StatType.Int, (System.Int32)(System.Int16) dataRecord.GetInt16(i));

            i = dataRecord.GetOrdinal("stat_maxhit");

            source.SetStat((DemoGame.StatType)DemoGame.StatType.MaxHit, (System.Int32)(System.Int16) dataRecord.GetInt16(i));

            i = dataRecord.GetOrdinal("stat_maxhp");

            source.SetStat((DemoGame.StatType)DemoGame.StatType.MaxHP, (System.Int32)(System.Int16) dataRecord.GetInt16(i));

            i = dataRecord.GetOrdinal("stat_maxmp");

            source.SetStat((DemoGame.StatType)DemoGame.StatType.MaxMP, (System.Int32)(System.Int16) dataRecord.GetInt16(i));

            i = dataRecord.GetOrdinal("stat_minhit");

            source.SetStat((DemoGame.StatType)DemoGame.StatType.MinHit, (System.Int32)(System.Int16) dataRecord.GetInt16(i));

            i = dataRecord.GetOrdinal("stat_req_agi");

            source.SetReqStat((DemoGame.StatType)DemoGame.StatType.Agi, (System.Int32)(System.Int16) dataRecord.GetInt16(i));

            i = dataRecord.GetOrdinal("stat_req_int");

            source.SetReqStat((DemoGame.StatType)DemoGame.StatType.Int, (System.Int32)(System.Int16) dataRecord.GetInt16(i));

            i = dataRecord.GetOrdinal("stat_req_str");

            source.SetReqStat((DemoGame.StatType)DemoGame.StatType.Str, (System.Int32)(System.Int16) dataRecord.GetInt16(i));

            i = dataRecord.GetOrdinal("stat_str");

            source.SetStat((DemoGame.StatType)DemoGame.StatType.Str, (System.Int32)(System.Int16) dataRecord.GetInt16(i));

            i = dataRecord.GetOrdinal("type");

            source.Type = (DemoGame.ItemType)(DemoGame.ItemType) dataRecord.GetByte(i);

            i = dataRecord.GetOrdinal("value");

            source.Value = (System.Int32)(System.Int32) dataRecord.GetInt32(i);

            i = dataRecord.GetOrdinal("weapon_type");

            source.WeaponType = (DemoGame.WeaponType)(DemoGame.WeaponType) dataRecord.GetByte(i);

            i = dataRecord.GetOrdinal("width");

            source.Width = (System.Byte)(System.Byte) dataRecord.GetByte(i);
        }
Beispiel #7
0
/// <summary>
/// Reads the values from an <see cref="IDataReader"/> and assigns the read values to this
/// object's properties. Unlike ReadValues(), this method not only doesn't require
/// all values to be in the <see cref="IDataReader"/>, but also does not require the values in
/// the <see cref="IDataReader"/> to be a defined field for the table this class represents.
/// Because of this, you need to be careful when using this method because values
/// can easily be skipped without any indication.
/// </summary>
/// <param name="source">The object to add the extension method to.</param>
/// <param name="dataRecord">The <see cref="IDataReader"/> to read the values from. Must already be ready to be read from.</param>
        public static void TryReadValues(this ItemTable source, System.Data.IDataRecord dataRecord)
        {
            for (int i = 0; i < dataRecord.FieldCount; i++)
            {
                switch (dataRecord.GetName(i))
                {
                case "action_display_id":
                    source.ActionDisplayID = (System.Nullable <NetGore.Features.ActionDisplays.ActionDisplayID>)(System.Nullable <NetGore.Features.ActionDisplays.ActionDisplayID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));
                    break;


                case "amount":
                    source.Amount = (System.Byte)(System.Byte) dataRecord.GetByte(i);
                    break;


                case "description":
                    source.Description = (System.String)(System.String) dataRecord.GetString(i);
                    break;


                case "equipped_body":
                    source.EquippedBody = (System.String)(System.String)(dataRecord.IsDBNull(i) ? (System.String)null : dataRecord.GetString(i));
                    break;


                case "graphic":
                    source.Graphic = (NetGore.GrhIndex)(NetGore.GrhIndex) dataRecord.GetUInt16(i);
                    break;


                case "height":
                    source.Height = (System.Byte)(System.Byte) dataRecord.GetByte(i);
                    break;


                case "hp":
                    source.HP = (DemoGame.SPValueType)(DemoGame.SPValueType) dataRecord.GetInt16(i);
                    break;


                case "id":
                    source.ID = (DemoGame.ItemID)(DemoGame.ItemID) dataRecord.GetInt32(i);
                    break;


                case "item_template_id":
                    source.ItemTemplateID = (System.Nullable <DemoGame.ItemTemplateID>)(System.Nullable <DemoGame.ItemTemplateID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));
                    break;


                case "mp":
                    source.MP = (DemoGame.SPValueType)(DemoGame.SPValueType) dataRecord.GetInt16(i);
                    break;


                case "name":
                    source.Name = (System.String)(System.String) dataRecord.GetString(i);
                    break;


                case "range":
                    source.Range = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);
                    break;


                case "skill_id":
                    source.SkillID = (System.Nullable <DemoGame.SkillType>)(System.Nullable <DemoGame.SkillType>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.Byte>)null : dataRecord.GetByte(i));
                    break;


                case "stat_agi":
                    source.SetStat((DemoGame.StatType)DemoGame.StatType.Agi, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
                    break;


                case "stat_defence":
                    source.SetStat((DemoGame.StatType)DemoGame.StatType.Defence, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
                    break;


                case "stat_int":
                    source.SetStat((DemoGame.StatType)DemoGame.StatType.Int, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
                    break;


                case "stat_maxhit":
                    source.SetStat((DemoGame.StatType)DemoGame.StatType.MaxHit, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
                    break;


                case "stat_maxhp":
                    source.SetStat((DemoGame.StatType)DemoGame.StatType.MaxHP, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
                    break;


                case "stat_maxmp":
                    source.SetStat((DemoGame.StatType)DemoGame.StatType.MaxMP, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
                    break;


                case "stat_minhit":
                    source.SetStat((DemoGame.StatType)DemoGame.StatType.MinHit, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
                    break;


                case "stat_req_agi":
                    source.SetReqStat((DemoGame.StatType)DemoGame.StatType.Agi, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
                    break;


                case "stat_req_int":
                    source.SetReqStat((DemoGame.StatType)DemoGame.StatType.Int, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
                    break;


                case "stat_req_str":
                    source.SetReqStat((DemoGame.StatType)DemoGame.StatType.Str, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
                    break;


                case "stat_str":
                    source.SetStat((DemoGame.StatType)DemoGame.StatType.Str, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
                    break;


                case "type":
                    source.Type = (DemoGame.ItemType)(DemoGame.ItemType) dataRecord.GetByte(i);
                    break;


                case "value":
                    source.Value = (System.Int32)(System.Int32) dataRecord.GetInt32(i);
                    break;


                case "weapon_type":
                    source.WeaponType = (DemoGame.WeaponType)(DemoGame.WeaponType) dataRecord.GetByte(i);
                    break;


                case "width":
                    source.Width = (System.Byte)(System.Byte) dataRecord.GetByte(i);
                    break;
                }
            }
        }
/// <summary>
/// Reads the values from an <see cref="IDataRecord"/> and assigns the read values to this
/// object's properties. The database column's name is used to as the key, so the value
/// will not be found if any aliases are used or not all columns were selected.
/// </summary>
/// <param name="source">The object to add the extension method to.</param>
/// <param name="dataRecord">The <see cref="IDataRecord"/> to read the values from. Must already be ready to be read from.</param>
        public static void ReadValues(this ViewNpcCharacterTable source, System.Data.IDataRecord dataRecord)
        {
            System.Int32 i;

            i = dataRecord.GetOrdinal("ai_id");

            source.AIID = (System.Nullable <NetGore.AI.AIID>)(System.Nullable <NetGore.AI.AIID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));

            i = dataRecord.GetOrdinal("body_id");

            source.BodyID = (DemoGame.BodyID)(DemoGame.BodyID) dataRecord.GetUInt16(i);

            i = dataRecord.GetOrdinal("cash");

            source.Cash = (System.Int32)(System.Int32) dataRecord.GetInt32(i);

            i = dataRecord.GetOrdinal("character_template_id");

            source.CharacterTemplateID = (System.Nullable <DemoGame.CharacterTemplateID>)(System.Nullable <DemoGame.CharacterTemplateID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));

            i = dataRecord.GetOrdinal("chat_dialog");

            source.ChatDialog = (System.Nullable <NetGore.Features.NPCChat.NPCChatDialogID>)(System.Nullable <NetGore.Features.NPCChat.NPCChatDialogID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));

            i = dataRecord.GetOrdinal("exp");

            source.Exp = (System.Int32)(System.Int32) dataRecord.GetInt32(i);

            i = dataRecord.GetOrdinal("hp");

            source.HP = (DemoGame.SPValueType)(DemoGame.SPValueType) dataRecord.GetInt16(i);

            i = dataRecord.GetOrdinal("id");

            source.ID = (System.Int32)(System.Int32) dataRecord.GetInt32(i);

            i = dataRecord.GetOrdinal("level");

            source.Level = (System.Int16)(System.Int16) dataRecord.GetInt16(i);

            i = dataRecord.GetOrdinal("load_map_id");

            source.LoadMapID = (NetGore.World.MapID)(NetGore.World.MapID) dataRecord.GetUInt16(i);

            i = dataRecord.GetOrdinal("load_x");

            source.LoadX = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);

            i = dataRecord.GetOrdinal("load_y");

            source.LoadY = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);

            i = dataRecord.GetOrdinal("move_speed");

            source.MoveSpeed = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);

            i = dataRecord.GetOrdinal("mp");

            source.MP = (DemoGame.SPValueType)(DemoGame.SPValueType) dataRecord.GetInt16(i);

            i = dataRecord.GetOrdinal("name");

            source.Name = (System.String)(System.String) dataRecord.GetString(i);

            i = dataRecord.GetOrdinal("respawn_map_id");

            source.RespawnMapID = (System.Nullable <NetGore.World.MapID>)(System.Nullable <NetGore.World.MapID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));

            i = dataRecord.GetOrdinal("respawn_x");

            source.RespawnX = (System.Single)(System.Single) dataRecord.GetFloat(i);

            i = dataRecord.GetOrdinal("respawn_y");

            source.RespawnY = (System.Single)(System.Single) dataRecord.GetFloat(i);

            i = dataRecord.GetOrdinal("shop_id");

            source.ShopID = (System.Nullable <NetGore.Features.Shops.ShopID>)(System.Nullable <NetGore.Features.Shops.ShopID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));

            i = dataRecord.GetOrdinal("statpoints");

            source.StatPoints = (System.Int32)(System.Int32) dataRecord.GetInt32(i);

            i = dataRecord.GetOrdinal("stat_agi");

            source.StatAgi = (System.Int16)(System.Int16) dataRecord.GetInt16(i);

            i = dataRecord.GetOrdinal("stat_defence");

            source.StatDefence = (System.Int16)(System.Int16) dataRecord.GetInt16(i);

            i = dataRecord.GetOrdinal("stat_int");

            source.StatInt = (System.Int16)(System.Int16) dataRecord.GetInt16(i);

            i = dataRecord.GetOrdinal("stat_maxhit");

            source.StatMaxhit = (System.Int16)(System.Int16) dataRecord.GetInt16(i);

            i = dataRecord.GetOrdinal("stat_maxhp");

            source.StatMaxhp = (System.Int16)(System.Int16) dataRecord.GetInt16(i);

            i = dataRecord.GetOrdinal("stat_maxmp");

            source.StatMaxmp = (System.Int16)(System.Int16) dataRecord.GetInt16(i);

            i = dataRecord.GetOrdinal("stat_minhit");

            source.StatMinhit = (System.Int16)(System.Int16) dataRecord.GetInt16(i);

            i = dataRecord.GetOrdinal("stat_str");

            source.StatStr = (System.Int16)(System.Int16) dataRecord.GetInt16(i);
        }
/// <summary>
/// Reads the values from an <see cref="IDataReader"/> and assigns the read values to this
/// object's properties. Unlike ReadValues(), this method not only doesn't require
/// all values to be in the <see cref="IDataReader"/>, but also does not require the values in
/// the <see cref="IDataReader"/> to be a defined field for the table this class represents.
/// Because of this, you need to be careful when using this method because values
/// can easily be skipped without any indication.
/// </summary>
/// <param name="source">The object to add the extension method to.</param>
/// <param name="dataRecord">The <see cref="IDataReader"/> to read the values from. Must already be ready to be read from.</param>
        public static void TryReadValues(this ViewNpcCharacterTable source, System.Data.IDataRecord dataRecord)
        {
            for (int i = 0; i < dataRecord.FieldCount; i++)
            {
                switch (dataRecord.GetName(i))
                {
                case "ai_id":
                    source.AIID = (System.Nullable <NetGore.AI.AIID>)(System.Nullable <NetGore.AI.AIID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));
                    break;


                case "body_id":
                    source.BodyID = (DemoGame.BodyID)(DemoGame.BodyID) dataRecord.GetUInt16(i);
                    break;


                case "cash":
                    source.Cash = (System.Int32)(System.Int32) dataRecord.GetInt32(i);
                    break;


                case "character_template_id":
                    source.CharacterTemplateID = (System.Nullable <DemoGame.CharacterTemplateID>)(System.Nullable <DemoGame.CharacterTemplateID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));
                    break;


                case "chat_dialog":
                    source.ChatDialog = (System.Nullable <NetGore.Features.NPCChat.NPCChatDialogID>)(System.Nullable <NetGore.Features.NPCChat.NPCChatDialogID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));
                    break;


                case "exp":
                    source.Exp = (System.Int32)(System.Int32) dataRecord.GetInt32(i);
                    break;


                case "hp":
                    source.HP = (DemoGame.SPValueType)(DemoGame.SPValueType) dataRecord.GetInt16(i);
                    break;


                case "id":
                    source.ID = (System.Int32)(System.Int32) dataRecord.GetInt32(i);
                    break;


                case "level":
                    source.Level = (System.Int16)(System.Int16) dataRecord.GetInt16(i);
                    break;


                case "load_map_id":
                    source.LoadMapID = (NetGore.World.MapID)(NetGore.World.MapID) dataRecord.GetUInt16(i);
                    break;


                case "load_x":
                    source.LoadX = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);
                    break;


                case "load_y":
                    source.LoadY = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);
                    break;


                case "move_speed":
                    source.MoveSpeed = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);
                    break;


                case "mp":
                    source.MP = (DemoGame.SPValueType)(DemoGame.SPValueType) dataRecord.GetInt16(i);
                    break;


                case "name":
                    source.Name = (System.String)(System.String) dataRecord.GetString(i);
                    break;


                case "respawn_map_id":
                    source.RespawnMapID = (System.Nullable <NetGore.World.MapID>)(System.Nullable <NetGore.World.MapID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));
                    break;


                case "respawn_x":
                    source.RespawnX = (System.Single)(System.Single) dataRecord.GetFloat(i);
                    break;


                case "respawn_y":
                    source.RespawnY = (System.Single)(System.Single) dataRecord.GetFloat(i);
                    break;


                case "shop_id":
                    source.ShopID = (System.Nullable <NetGore.Features.Shops.ShopID>)(System.Nullable <NetGore.Features.Shops.ShopID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));
                    break;


                case "statpoints":
                    source.StatPoints = (System.Int32)(System.Int32) dataRecord.GetInt32(i);
                    break;


                case "stat_agi":
                    source.StatAgi = (System.Int16)(System.Int16) dataRecord.GetInt16(i);
                    break;


                case "stat_defence":
                    source.StatDefence = (System.Int16)(System.Int16) dataRecord.GetInt16(i);
                    break;


                case "stat_int":
                    source.StatInt = (System.Int16)(System.Int16) dataRecord.GetInt16(i);
                    break;


                case "stat_maxhit":
                    source.StatMaxhit = (System.Int16)(System.Int16) dataRecord.GetInt16(i);
                    break;


                case "stat_maxhp":
                    source.StatMaxhp = (System.Int16)(System.Int16) dataRecord.GetInt16(i);
                    break;


                case "stat_maxmp":
                    source.StatMaxmp = (System.Int16)(System.Int16) dataRecord.GetInt16(i);
                    break;


                case "stat_minhit":
                    source.StatMinhit = (System.Int16)(System.Int16) dataRecord.GetInt16(i);
                    break;


                case "stat_str":
                    source.StatStr = (System.Int16)(System.Int16) dataRecord.GetInt16(i);
                    break;
                }
            }
        }
/// <summary>
/// Reads the values from an <see cref="IDataRecord"/> and assigns the read values to this
/// object's properties. The database column's name is used to as the key, so the value
/// will not be found if any aliases are used or not all columns were selected.
/// </summary>
/// <param name="source">The object to add the extension method to.</param>
/// <param name="dataRecord">The <see cref="IDataRecord"/> to read the values from. Must already be ready to be read from.</param>
        public static void ReadValues(this CharacterTemplateTable source, System.Data.IDataRecord dataRecord)
        {
            System.Int32 i;

            i = dataRecord.GetOrdinal("ai_id");

            source.AIID = (System.Nullable <NetGore.AI.AIID>)(System.Nullable <NetGore.AI.AIID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));

            i = dataRecord.GetOrdinal("alliance_id");

            source.AllianceID = (DemoGame.AllianceID)(DemoGame.AllianceID) dataRecord.GetByte(i);

            i = dataRecord.GetOrdinal("body_id");

            source.BodyID = (DemoGame.BodyID)(DemoGame.BodyID) dataRecord.GetUInt16(i);

            i = dataRecord.GetOrdinal("chat_dialog");

            source.ChatDialog = (System.Nullable <NetGore.Features.NPCChat.NPCChatDialogID>)(System.Nullable <NetGore.Features.NPCChat.NPCChatDialogID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));

            i = dataRecord.GetOrdinal("exp");

            source.Exp = (System.Int32)(System.Int32) dataRecord.GetInt32(i);

            i = dataRecord.GetOrdinal("give_cash");

            source.GiveCash = (System.Int32)(System.Int32) dataRecord.GetInt32(i);

            i = dataRecord.GetOrdinal("give_exp");

            source.GiveExp = (System.Int32)(System.Int32) dataRecord.GetInt32(i);

            i = dataRecord.GetOrdinal("id");

            source.ID = (DemoGame.CharacterTemplateID)(DemoGame.CharacterTemplateID) dataRecord.GetUInt16(i);

            i = dataRecord.GetOrdinal("level");

            source.Level = (System.Int16)(System.Int16) dataRecord.GetInt16(i);

            i = dataRecord.GetOrdinal("move_speed");

            source.MoveSpeed = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);

            i = dataRecord.GetOrdinal("name");

            source.Name = (System.String)(System.String) dataRecord.GetString(i);

            i = dataRecord.GetOrdinal("respawn");

            source.Respawn = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);

            i = dataRecord.GetOrdinal("shop_id");

            source.ShopID = (System.Nullable <NetGore.Features.Shops.ShopID>)(System.Nullable <NetGore.Features.Shops.ShopID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));

            i = dataRecord.GetOrdinal("statpoints");

            source.StatPoints = (System.Int32)(System.Int32) dataRecord.GetInt32(i);

            i = dataRecord.GetOrdinal("stat_agi");

            source.SetStat((DemoGame.StatType)DemoGame.StatType.Agi, (System.Int32)(System.Int16) dataRecord.GetInt16(i));

            i = dataRecord.GetOrdinal("stat_defence");

            source.SetStat((DemoGame.StatType)DemoGame.StatType.Defence, (System.Int32)(System.Int16) dataRecord.GetInt16(i));

            i = dataRecord.GetOrdinal("stat_int");

            source.SetStat((DemoGame.StatType)DemoGame.StatType.Int, (System.Int32)(System.Int16) dataRecord.GetInt16(i));

            i = dataRecord.GetOrdinal("stat_maxhit");

            source.SetStat((DemoGame.StatType)DemoGame.StatType.MaxHit, (System.Int32)(System.Int16) dataRecord.GetInt16(i));

            i = dataRecord.GetOrdinal("stat_maxhp");

            source.SetStat((DemoGame.StatType)DemoGame.StatType.MaxHP, (System.Int32)(System.Int16) dataRecord.GetInt16(i));

            i = dataRecord.GetOrdinal("stat_maxmp");

            source.SetStat((DemoGame.StatType)DemoGame.StatType.MaxMP, (System.Int32)(System.Int16) dataRecord.GetInt16(i));

            i = dataRecord.GetOrdinal("stat_minhit");

            source.SetStat((DemoGame.StatType)DemoGame.StatType.MinHit, (System.Int32)(System.Int16) dataRecord.GetInt16(i));

            i = dataRecord.GetOrdinal("stat_str");

            source.SetStat((DemoGame.StatType)DemoGame.StatType.Str, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
        }
/// <summary>
/// Reads the values from an <see cref="IDataReader"/> and assigns the read values to this
/// object's properties. Unlike ReadValues(), this method not only doesn't require
/// all values to be in the <see cref="IDataReader"/>, but also does not require the values in
/// the <see cref="IDataReader"/> to be a defined field for the table this class represents.
/// Because of this, you need to be careful when using this method because values
/// can easily be skipped without any indication.
/// </summary>
/// <param name="source">The object to add the extension method to.</param>
/// <param name="dataRecord">The <see cref="IDataReader"/> to read the values from. Must already be ready to be read from.</param>
        public static void TryReadValues(this CharacterTemplateTable source, System.Data.IDataRecord dataRecord)
        {
            for (int i = 0; i < dataRecord.FieldCount; i++)
            {
                switch (dataRecord.GetName(i))
                {
                case "ai_id":
                    source.AIID = (System.Nullable <NetGore.AI.AIID>)(System.Nullable <NetGore.AI.AIID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));
                    break;


                case "alliance_id":
                    source.AllianceID = (DemoGame.AllianceID)(DemoGame.AllianceID) dataRecord.GetByte(i);
                    break;


                case "body_id":
                    source.BodyID = (DemoGame.BodyID)(DemoGame.BodyID) dataRecord.GetUInt16(i);
                    break;


                case "chat_dialog":
                    source.ChatDialog = (System.Nullable <NetGore.Features.NPCChat.NPCChatDialogID>)(System.Nullable <NetGore.Features.NPCChat.NPCChatDialogID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));
                    break;


                case "exp":
                    source.Exp = (System.Int32)(System.Int32) dataRecord.GetInt32(i);
                    break;


                case "give_cash":
                    source.GiveCash = (System.Int32)(System.Int32) dataRecord.GetInt32(i);
                    break;


                case "give_exp":
                    source.GiveExp = (System.Int32)(System.Int32) dataRecord.GetInt32(i);
                    break;


                case "id":
                    source.ID = (DemoGame.CharacterTemplateID)(DemoGame.CharacterTemplateID) dataRecord.GetUInt16(i);
                    break;


                case "level":
                    source.Level = (System.Int16)(System.Int16) dataRecord.GetInt16(i);
                    break;


                case "move_speed":
                    source.MoveSpeed = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);
                    break;


                case "name":
                    source.Name = (System.String)(System.String) dataRecord.GetString(i);
                    break;


                case "respawn":
                    source.Respawn = (System.UInt16)(System.UInt16) dataRecord.GetUInt16(i);
                    break;


                case "shop_id":
                    source.ShopID = (System.Nullable <NetGore.Features.Shops.ShopID>)(System.Nullable <NetGore.Features.Shops.ShopID>)(dataRecord.IsDBNull(i) ? (System.Nullable <System.UInt16>)null : dataRecord.GetUInt16(i));
                    break;


                case "statpoints":
                    source.StatPoints = (System.Int32)(System.Int32) dataRecord.GetInt32(i);
                    break;


                case "stat_agi":
                    source.SetStat((DemoGame.StatType)DemoGame.StatType.Agi, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
                    break;


                case "stat_defence":
                    source.SetStat((DemoGame.StatType)DemoGame.StatType.Defence, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
                    break;


                case "stat_int":
                    source.SetStat((DemoGame.StatType)DemoGame.StatType.Int, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
                    break;


                case "stat_maxhit":
                    source.SetStat((DemoGame.StatType)DemoGame.StatType.MaxHit, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
                    break;


                case "stat_maxhp":
                    source.SetStat((DemoGame.StatType)DemoGame.StatType.MaxHP, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
                    break;


                case "stat_maxmp":
                    source.SetStat((DemoGame.StatType)DemoGame.StatType.MaxMP, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
                    break;


                case "stat_minhit":
                    source.SetStat((DemoGame.StatType)DemoGame.StatType.MinHit, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
                    break;


                case "stat_str":
                    source.SetStat((DemoGame.StatType)DemoGame.StatType.Str, (System.Int32)(System.Int16) dataRecord.GetInt16(i));
                    break;
                }
            }
        }