public void UpdateValue <T>(GameObjectFields pos, T value, int increment = 0) { m_touched[OBJECT_TYPES.TYPE_GAMEOBJECT] = true; m_gameobjectfields.Set((int)pos + increment, true); if (value is long || value is ulong) //64bit needs to store + append two 32 bits - obviously { m_gameobjectfields.Set((int)pos + 1 + increment, true); m_gameobjectvalues[(int)pos + increment] = Convert.ToInt32(Convert.ToInt64(value) & uint.MaxValue); m_gameobjectvalues[(int)pos + 1 + increment] = Convert.ToInt32((Convert.ToInt64(value) >> 32) & uint.MaxValue); } else { m_gameobjectvalues[(int)pos + increment] = value; } }
public ExtendedUpdateFieldId(GameObjectFields val) { RawId = (int)val; ObjectType = ObjectTypeId.GameObject; }
public uint GetUInt32(GameObjectFields field) { return m_updateValues[(int)field].UInt32; }
public uint GetUInt32(GameObjectFields field) { return(this.m_updateValues[(int)field].UInt32); }
/// <summary> /// /// </summary> /// <param name="val"></param> public UpdateFieldId(GameObjectFields value) { m_RawId = (int)value; }
/// <summary> /// /// </summary> /// <param name="val"></param> public UpdateFieldId( GameObjectFields value ) { m_RawId = (int)value; }
public int GetInt32(GameObjectFields field) { return(m_updateValues[(int)field].Int32); }