本文整理汇总了C#中Cyber.HabboHotel.GameClients.GameClient类的典型用法代码示例。如果您正苦于以下问题:C# GameClient类的具体用法?C# GameClient怎么用?C# GameClient使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
GameClient类属于Cyber.HabboHotel.GameClients命名空间,在下文中一共展示了GameClient类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AvatarEffectsInventoryComponent
internal AvatarEffectsInventoryComponent(uint UserId, GameClient Client, UserData Data)
{
this.UserId = UserId;
this.Session = Client;
this.Effects = new List<AvatarEffect>();
foreach (AvatarEffect current in Data.effects)
{
if (!current.HasExpired)
{
this.Effects.Add(current);
}
else
{
using (IQueryAdapter queryreactor = CyberEnvironment.GetDatabaseManager().getQueryReactor())
{
queryreactor.runFastQuery(string.Concat(new object[]
{
"DELETE FROM user_effects WHERE user_id = ",
UserId,
" AND effect_id = ",
current.EffectId,
"; "
}));
}
}
}
}
示例2: OnTrigger
public void OnTrigger(GameClient Session, RoomItem Item, int Request, bool HasRights)
{
RoomUser roomUser = null;
if (Session != null)
{
roomUser = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
}
if (roomUser == null)
{
return;
}
if (Gamemap.TilesTouching(Item.GetX, Item.GetY, roomUser.X, roomUser.Y))
{
if (Item.ExtraData != "-1")
{
if (Request == -1)
{
Item.ExtraData = "0";
Item.UpdateState();
return;
}
Item.ExtraData = "-1";
Item.UpdateState(false, true);
Item.ReqUpdate(4, true);
return;
}
}
else
{
roomUser.MoveTo(Item.SquareInFront);
}
}
示例3: OnPlace
public void OnPlace(GameClient Session, RoomItem Item)
{
if (Item.team == Team.none)
return;
Item.ExtraData = Item.GetRoom().GetGameManager().Points[(int)Item.team].ToString();
Item.UpdateState(false, true);
}
示例4: OnPlace
public void OnPlace(GameClient Session, RoomItem Item)
{
Item.ExtraData = "0";
if (Item.InteractingUser != 0u)
{
RoomUser roomUserByHabbo = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser);
if (roomUserByHabbo != null)
{
roomUserByHabbo.ClearMovement(true);
roomUserByHabbo.AllowOverride = false;
roomUserByHabbo.CanWalk = true;
}
Item.InteractingUser = 0u;
}
if (Item.InteractingUser2 != 0u)
{
RoomUser roomUserByHabbo2 = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser2);
if (roomUserByHabbo2 != null)
{
roomUserByHabbo2.ClearMovement(true);
roomUserByHabbo2.AllowOverride = false;
roomUserByHabbo2.CanWalk = true;
}
Item.InteractingUser2 = 0u;
}
}
示例5: TryProgressAchievement
internal void TryProgressAchievement(GameClient Session, string ACHGroup, int MinimumRequirement, int Requirement)
{
if (Requirement == 0 || Session == null)
{
return;
}
Achievement achievement = null;
this.Achievements.TryGetValue(ACHGroup, out achievement);
if (achievement == null)
{
return;
}
UserAchievement achievementData = Session.GetHabbo().GetAchievementData(ACHGroup);
if (achievementData == null)
{
this.ProgressUserAchievement(Session, ACHGroup, MinimumRequirement, false);
return;
}
checked
{
int requirement = achievement.Levels[achievementData.Level + 1].Requirement;
if (requirement < Requirement)
{
return;
}
this.ProgressUserAchievement(Session, ACHGroup, requirement - Requirement, false);
}
}
示例6: Compose
internal static ServerMessage Compose(GameClient Session, Quest Quest)
{
int amountOfQuestsInCategory = CyberEnvironment.GetGame().GetQuestManager().GetAmountOfQuestsInCategory(Quest.Category);
int i = (Quest == null) ? amountOfQuestsInCategory : Quest.Number;
int i2 = (Quest == null) ? 0 : Session.GetHabbo().GetQuestProgress(Quest.Id);
ServerMessage serverMessage = new ServerMessage(Outgoing.QuestCompletedMessageComposer);
serverMessage.AppendString(Quest.Category);
serverMessage.AppendInt32(i);
serverMessage.AppendInt32(Quest.Name.Contains("xmas2012") ? 1 : amountOfQuestsInCategory);
serverMessage.AppendInt32((Quest == null) ? 3 : Quest.RewardType);
serverMessage.AppendUInt((Quest == null) ? 0u : Quest.Id);
serverMessage.AppendBoolean(Quest != null && Session.GetHabbo().CurrentQuestId == Quest.Id);
serverMessage.AppendString((Quest == null) ? string.Empty : Quest.ActionName);
serverMessage.AppendString((Quest == null) ? string.Empty : Quest.DataBit);
serverMessage.AppendInt32((Quest == null) ? 0 : Quest.Reward);
serverMessage.AppendString((Quest == null) ? string.Empty : Quest.Name);
serverMessage.AppendInt32(i2);
serverMessage.AppendUInt((Quest == null) ? 0u : Quest.GoalData);
serverMessage.AppendInt32((Quest == null) ? 0 : Quest.TimeUnlock);
serverMessage.AppendString("");
serverMessage.AppendString("");
serverMessage.AppendBoolean(true);
serverMessage.AppendBoolean(true);
return serverMessage;
}
示例7: GiveBadge
internal void GiveBadge(string Badge, bool InDatabase, GameClient Session, bool WiredReward = false)
{
if (WiredReward)
{
Session.SendMessage(this.SerializeBadgeReward(!this.HasBadge(Badge)));
}
if (this.HasBadge(Badge))
{
return;
}
if (InDatabase)
{
using (IQueryAdapter queryreactor = CyberEnvironment.GetDatabaseManager().getQueryReactor())
{
queryreactor.setQuery(string.Concat(new object[]
{
"INSERT INTO user_badges (user_id,badge_id,badge_slot) VALUES (",
this.UserId,
",@badge,",
0,
")"
}));
queryreactor.addParameter("badge", Badge);
queryreactor.runQuery();
}
}
this.Badges.Add(Badge, new Badge(Badge, 0));
Session.SendMessage(this.SerializeBadge(Badge));
Session.SendMessage(this.Update(Badge));
}
示例8: InventoryComponent
internal InventoryComponent(uint UserId, GameClient Client, UserData UserData)
{
this.mClient = Client;
this.UserId = UserId;
this.floorItems = new HybridDictionary();
this.wallItems = new HybridDictionary();
this.discs = new HybridDictionary();
foreach (UserItem current in UserData.inventory)
{
if (current.GetBaseItem().InteractionType == InteractionType.musicdisc)
{
this.discs.Add(current.Id, current);
}
if (current.isWallItem)
{
this.wallItems.Add(current.Id, current);
}
else
{
this.floorItems.Add(current.Id, current);
}
}
this.InventoryPets = new SafeDictionary<uint, Pet>(UserData.pets);
this.InventoryBots = new SafeDictionary<uint, RoomBot>(UserData.Botinv);
this.mAddedItems = new HybridDictionary();
this.mRemovedItems = new HybridDictionary();
this.isUpdated = false;
}
示例9: OnRemove
public void OnRemove(GameClient Session, RoomItem Item)
{
if (Item.ExtraData == "-1")
{
Item.ExtraData = "0";
}
}
示例10: OnTrigger
public void OnTrigger(GameClient Session, RoomItem Item, int Request, bool HasRights)
{
if (Item == null || Item.GetRoom() == null || Session == null || Session.GetHabbo() == null)
{
return;
}
RoomUser roomUserByHabbo = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
if (roomUserByHabbo == null)
{
return;
}
if (!(roomUserByHabbo.Coordinate == Item.Coordinate) && !(roomUserByHabbo.Coordinate == Item.SquareInFront))
{
if (roomUserByHabbo.CanWalk)
{
roomUserByHabbo.MoveTo(Item.SquareInFront);
}
return;
}
if (Item.InteractingUser != 0u)
{
return;
}
roomUserByHabbo.TeleDelay = 2;
Item.InteractingUser = roomUserByHabbo.GetClient().GetHabbo().Id;
}
示例11: OnTrigger
public void OnTrigger(GameClient Session, RoomItem Item, int Request, bool HasRights)
{
if (!HasRights)
{
return;
}
int num = 0;
int.TryParse(Item.ExtraData, out num);
checked
{
if (Request == 1)
{
if (Item.pendingReset && num > 0)
{
num = 0;
Item.pendingReset = false;
}
else
{
num += 60;
Item.UpdateNeeded = false;
}
}
else
{
if (Request == 2)
{
Item.UpdateNeeded = !Item.UpdateNeeded;
Item.pendingReset = true;
}
}
Item.ExtraData = num.ToString();
Item.UpdateState();
}
}
示例12: OnPlace
public void OnPlace(GameClient Session, RoomItem Item)
{
checked
{
Item.GetRoom().GetRoomItemHandler().HopperCount++;
using (IQueryAdapter queryreactor = CyberEnvironment.GetDatabaseManager().getQueryReactor())
{
queryreactor.setQuery("INSERT INTO items_hopper (hopper_id, room_id) VALUES (@hopperid, @roomid);");
queryreactor.addParameter("hopperid", Item.Id);
queryreactor.addParameter("roomid", Item.RoomId);
queryreactor.runQuery();
}
if (Item.InteractingUser != 0u)
{
RoomUser roomUserByHabbo = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser);
if (roomUserByHabbo != null)
{
roomUserByHabbo.ClearMovement(true);
roomUserByHabbo.AllowOverride = false;
roomUserByHabbo.CanWalk = true;
}
Item.InteractingUser = 0u;
}
}
}
示例13: SerializeQuest
internal static void SerializeQuest(ServerMessage Message, GameClient Session, Quest Quest, string Category)
{
if (Message == null || Session == null)
{
return;
}
int amountOfQuestsInCategory = CyberEnvironment.GetGame().GetQuestManager().GetAmountOfQuestsInCategory(Category);
checked
{
int num = (Quest == null) ? amountOfQuestsInCategory : (Quest.Number - 1);
int num2 = (Quest == null) ? 0 : Session.GetHabbo().GetQuestProgress(Quest.Id);
if (Quest != null && Quest.IsCompleted(num2))
{
num++;
}
Message.AppendString(Category);
Message.AppendInt32((Quest == null) ? 0 : (Quest.Category.Contains("xmas2012") ? 0 : num));
Message.AppendInt32((Quest == null) ? 0 : (Quest.Category.Contains("xmas2012") ? 0 : amountOfQuestsInCategory));
Message.AppendInt32((Quest == null) ? 3 : Quest.RewardType);
Message.AppendUInt((Quest == null) ? 0u : Quest.Id);
Message.AppendBoolean(Quest != null && Session.GetHabbo().CurrentQuestId == Quest.Id);
Message.AppendString((Quest == null) ? string.Empty : Quest.ActionName);
Message.AppendString((Quest == null) ? string.Empty : Quest.DataBit);
Message.AppendInt32((Quest == null) ? 0 : Quest.Reward);
Message.AppendString((Quest == null) ? string.Empty : Quest.Name);
Message.AppendInt32(num2);
Message.AppendUInt((Quest == null) ? 0u : Quest.GoalData);
Message.AppendInt32((Quest == null) ? 0 : Quest.TimeUnlock);
Message.AppendString("");
Message.AppendString("");
Message.AppendBoolean(true);
}
}
示例14: OnTrigger
public void OnTrigger(GameClient Session, RoomItem Item, int Request, bool HasRights)
{
if (!HasRights)
{
return;
}
int num = 0;
int.TryParse(Item.ExtraData, out num);
checked
{
if (Request == 1)
{
num++;
}
else
{
if (Request == 2)
{
num--;
}
else
{
if (Request == 3)
{
num = 0;
}
}
}
Item.ExtraData = num.ToString();
Item.UpdateState(false, true);
}
}
示例15: UpdateUser
internal void UpdateUser(GameClient client)
{
this.client = client;
if (client != null && client.GetHabbo() != null)
{
this.currentRoom = client.GetHabbo().CurrentRoom;
}
}