本文整理汇总了C#中Reality.Storage.SqlDatabaseClient类的典型用法代码示例。如果您正苦于以下问题:C# SqlDatabaseClient类的具体用法?C# SqlDatabaseClient怎么用?C# SqlDatabaseClient使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SqlDatabaseClient类属于Reality.Storage命名空间,在下文中一共展示了SqlDatabaseClient类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FavoriteRoomsCache
public FavoriteRoomsCache(SqlDatabaseClient MySqlClient, uint CharacterId)
{
mCharacterId = CharacterId;
mInner = new List<uint>();
ReloadCache(MySqlClient);
}
示例2: GetCharacterInfo
public static CharacterInfo GetCharacterInfo(SqlDatabaseClient MySqlClient, uint CharacterId, uint LinkedClientId, bool IgnoreCache)
{
if (SessionManager.ContainsCharacterId(CharacterId))
{
Session Session = SessionManager.GetSessionByCharacterId(CharacterId);
return Session.CharacterInfo;
}
if (!IgnoreCache)
{
CharacterInfo CachedInfo = TryGetInfoFromCache(CharacterId);
if (CachedInfo != null)
{
return CachedInfo;
}
}
MySqlClient.SetParameter("id", CharacterId);
DataRow Row = MySqlClient.ExecuteQueryRow("SELECT * FROM characters WHERE id = @id LIMIT 1");
if (Row != null)
{
return GenerateCharacterInfoFromRow(MySqlClient, LinkedClientId, Row);
}
return null;
}
示例3: InventoryCache
public InventoryCache(SqlDatabaseClient MySqlClient, uint CharacterId)
{
mCharacterId = CharacterId;
mInner = new Dictionary<uint, Item>();
ReloadCache(MySqlClient);
}
示例4: Initialize
public static void Initialize(SqlDatabaseClient MySqlClient)
{
mSets = new Dictionary<int, DrinkSet>();
DataTable Table = MySqlClient.ExecuteQueryTable("SELECT * FROM drink_sets");
foreach (DataRow Row in Table.Rows)
{
int Id = (int)Row["id"];
string[] DrinkData = Row["drinks"].ToString().Split(',');
List<int> Drinks = new List<int>();
foreach (string Drink in DrinkData)
{
int i = 0;
int.TryParse(Drink, out i);
if (i > 0)
{
Drinks.Add(i);
}
}
if (Drinks.Count > 0)
{
mSets.Add(Id, new DrinkSet(Id, Drinks));
}
}
}
示例5: ReloadRewards
public static void ReloadRewards(SqlDatabaseClient MySqlClient)
{
lock (mSyncRoot)
{
DataTable Table = MySqlClient.ExecuteQueryTable("SELECT * FROM recycler_rewards");
int UniqueLevels = 0;
foreach (DataRow Row in Table.Rows)
{
int RewardLevel = (int)Row["chance_level"];
if (!mRewards.ContainsKey(RewardLevel))
{
mRewards.Add(RewardLevel, new List<uint>());
UniqueLevels++;
}
mRewards[RewardLevel].Add((uint)Row["item_id"]);
}
if (UniqueLevels != 5)
{
Output.WriteLine("Recycler is not configured correctly and will *not* work properly. Please ensure there are 5 unique reward levels.", OutputLevel.Warning);
mEnabled = false;
}
else
{
mEnabled = true;
}
}
}
示例6: ReloadCache
public static void ReloadCache(SqlDatabaseClient MySqlClient)
{
lock (mSyncRoot)
{
mCharacterBlacklist.Clear();
mRemoteAddressBlacklist.Clear();
MySqlClient.SetParameter("timestamp", UnixTimestamp.GetCurrent());
DataTable Table = MySqlClient.ExecuteQueryTable("SELECT * FROM bans WHERE timestamp_expire > @timestamp");
foreach (DataRow Row in Table.Rows)
{
uint UserId = (uint)Row["user_id"];
string RemoteAddr = (string)Row["remote_address"];
if (UserId > 0 && !mCharacterBlacklist.Contains(UserId))
{
mCharacterBlacklist.Add(UserId);
}
if (RemoteAddr.Length > 0 && !mRemoteAddressBlacklist.Contains(RemoteAddr))
{
mRemoteAddressBlacklist.Add(RemoteAddr);
}
}
}
}
示例7: Initialize
public static void Initialize(SqlDatabaseClient MySqlClient)
{
mBadges = new Dictionary<uint, Badge>();
mRightSets = new Dictionary<uint,List<string>>();
RebuildCache(MySqlClient);
}
示例8: TryRedeemVoucher
public static bool TryRedeemVoucher(SqlDatabaseClient MySqlClient, Session Session, string Code)
{
lock (mSyncRoot)
{
VoucherValueData ValueData = GetVoucherValue(Code);
if (ValueData == null)
{
return false;
}
if (ValueData.ValueCredits > 0)
{
Session.CharacterInfo.UpdateCreditsBalance(MySqlClient, ValueData.ValueCredits);
Session.SendData(CreditsBalanceComposer.Compose(Session.CharacterInfo.CreditsBalance));
}
if (ValueData.ValuePixels > 0)
{
Session.CharacterInfo.UpdateActivityPointsBalance(MySqlClient, ValueData.ValuePixels);
Session.SendData(ActivityPointsBalanceComposer.Compose(Session.CharacterInfo.ActivityPointsBalance, ValueData.ValuePixels));
}
if (ValueData.ValueFurni.Count > 0)
{
Dictionary<int, List<uint>> NotifyItems = new Dictionary<int, List<uint>>();
foreach (uint ItemId in ValueData.ValueFurni)
{
Item Item = ItemFactory.CreateItem(MySqlClient, ItemId, Session.CharacterId, string.Empty,
string.Empty, 0, false);
if (Item != null)
{
int NotifyTabId = Item.Definition.Type == ItemType.WallItem ? 2 : 1;
Session.InventoryCache.Add(Item);
Session.NewItemsCache.MarkNewItem(MySqlClient, NotifyTabId, Item.Id);
if (!NotifyItems.ContainsKey(NotifyTabId))
{
NotifyItems.Add(NotifyTabId, new List<uint>());
}
NotifyItems[NotifyTabId].Add(Item.Id);
}
}
if (NotifyItems.Count > 0)
{
Session.SendData(InventoryRefreshComposer.Compose());
Session.SendData(InventoryNewItemsComposer.Compose(new Dictionary<int, List<uint>>(NotifyItems)));
}
}
MarkVoucherUsed(Code);
return true;
}
}
示例9: NewItemsCache
public NewItemsCache(SqlDatabaseClient MySqlClient, uint UserId)
{
mUserId = UserId;
mInner = new Dictionary<int, List<uint>>();
mSyncRoot = new object();
ReloadCache(MySqlClient);
}
示例10: AchievementCache
public AchievementCache(SqlDatabaseClient MySqlClient, uint UserId)
{
mUserId = UserId;
mInner = new Dictionary<string, UserAchievement>();
mSyncRoot = new object();
ReloadCache(MySqlClient);
}
示例11: FriendshipExists
public static bool FriendshipExists(SqlDatabaseClient MySqlClient, uint UserId1, uint UserId2, bool ConfirmedOnly)
{
MySqlClient.SetParameter("user1", UserId1);
MySqlClient.SetParameter("user2", UserId2);
MySqlClient.SetParameter("confirmed", (ConfirmedOnly ? 0 : 2));
return (MySqlClient.ExecuteQueryRow("SELECT null FROM messenger_friendships WHERE user_1_id = @user1 AND user_2_id = @user2 AND confirmed != @confirmed OR user_2_id = @user1 AND user_1_id = @user2 AND confirmed != @confirmed LIMIT 1") != null);
}
示例12: Initialize
public static void Initialize(SqlDatabaseClient MySqlClient)
{
mRaces = new Dictionary<int, List<PetRaceData>>();
mTricks = new Dictionary<int, List<string>>();
mSyncRoot = new object();
ReloadData(MySqlClient);
}
示例13: SessionMessengerFriendCache
public SessionMessengerFriendCache(SqlDatabaseClient MySqlClient, uint UserId)
{
mCharacterId = UserId;
mInner = new List<uint>();
mInnerUpdates = new Dictionary<uint, int>();
ReloadCache(MySqlClient);
}
示例14: PetInventoryCache
public PetInventoryCache(SqlDatabaseClient MySqlClient, uint CharacterId)
{
mCharacterId = CharacterId;
mInner = new Dictionary<uint, Pet>();
mSyncRoot = new object();
ReloadCache(MySqlClient);
}
示例15: AvatarEffectCache
public AvatarEffectCache(SqlDatabaseClient MySqlClient, uint UserId)
{
mUserId = UserId;
mInner = new Dictionary<uint, AvatarEffect>();
mSyncRoot = new object();
ReloadCache(MySqlClient);
}