本文整理汇总了C#中Item.GetRoom方法的典型用法代码示例。如果您正苦于以下问题:C# Item.GetRoom方法的具体用法?C# Item.GetRoom怎么用?C# Item.GetRoom使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Item
的用法示例。
在下文中一共展示了Item.GetRoom方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnTrigger
public void OnTrigger(GameClient Session, Item Item, int Request, bool HasRights)
{
if (Item == null || Item.GetRoom() == null || Session == null || Session.GetHabbo() == null)
return;
RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
if (User == null)
{
return;
}
// Alright. But is this user in the right position?
if (User.Coordinate == Item.Coordinate || User.Coordinate == Item.SquareInFront)
{
// Fine. But is this tele even free?
if (Item.InteractingUser != 0)
{
return;
}
User.TeleDelay = 2;
Item.InteractingUser = User.GetClient().GetHabbo().Id;
}
else if (User.CanWalk)
{
User.MoveTo(Item.SquareInFront);
}
}
示例2: OnPlace
public void OnPlace(GameClient Session, Item Item)
{
Item.GetRoom().GetRoomItemHandler().HopperCount++;
using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
{
dbClient.SetQuery("INSERT INTO items_hopper (hopper_id, room_id) VALUES (@hopperid, @roomid);");
dbClient.AddParameter("hopperid", Item.Id);
dbClient.AddParameter("roomid", Item.RoomId);
dbClient.RunQuery();
}
if (Item.InteractingUser != 0)
{
RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser);
if (User != null)
{
User.ClearMovement(true);
User.AllowOverride = false;
User.CanWalk = true;
}
Item.InteractingUser = 0;
}
}
示例3: OnPlace
public void OnPlace(GameClient Session, Item Item)
{
Item.ExtraData = "0";
if (Item.InteractingUser != 0)
{
RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser);
if (User != null)
{
User.ClearMovement(true);
User.AllowOverride = false;
User.CanWalk = true;
}
Item.InteractingUser = 0;
}
if (Item.InteractingUser2 != 0)
{
RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser2);
if (User != null)
{
User.ClearMovement(true);
User.AllowOverride = false;
User.CanWalk = true;
}
Item.InteractingUser2 = 0;
}
}
示例4: OnTrigger
public void OnTrigger(GameClient Session, Item Item, int Request, bool HasRights)
{
if (Item == null || Item.GetRoom() == null || Session == null || Session.GetHabbo() == null)
return;
RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
if (User == null)
return;
User.LastInteraction = PlusEnvironment.GetUnixTimestamp();
// Alright. But is this user in the right position?
if (User.Coordinate == Item.Coordinate || User.Coordinate == Item.SquareInFront)
{
// Fine. But is this tele even free?
if (Item.InteractingUser != 0)
{
return;
}
if (!User.CanWalk || Session.GetHabbo().IsTeleporting || Session.GetHabbo().TeleporterId != 0 ||
(User.LastInteraction + 2) - PlusEnvironment.GetUnixTimestamp() < 0)
return;
User.TeleDelay = 2;
Item.InteractingUser = User.GetClient().GetHabbo().Id;
}
else if (User.CanWalk)
{
User.MoveTo(Item.SquareInFront);
}
}
示例5: OnRemove
public void OnRemove(GameClient Session, Item Item)
{
Item.ExtraData = "0";
if (Item.InteractingUser != 0)
{
RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser);
if (User != null)
{
User.UnlockWalking();
}
Item.InteractingUser = 0;
}
if (Item.InteractingUser2 != 0)
{
RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser2);
if (User != null)
{
User.UnlockWalking();
}
Item.InteractingUser2 = 0;
}
}
示例6: OnTrigger
public void OnTrigger(GameClient Session, Item Item, int Request, bool HasRights)
{
int Modes = Item.GetBaseItem().Modes - 1;
if (!HasRights)
{
return;
}
else if (Modes <= 0)
{
Item.UpdateState(false, true);
}
int CurrentMode = 0;
int NewMode = 0;
if (!int.TryParse(Item.ExtraData, out CurrentMode))
{
}
if (CurrentMode <= 0)
{
NewMode = 1;
}
else if (CurrentMode >= Modes)
{
NewMode = 0;
}
else
{
NewMode = CurrentMode + 1;
}
if (NewMode == 0)
{
if (!Item.GetRoom().GetGameMap().itemCanBePlacedHere(Item.GetX, Item.GetY))
{
return;
}
}
Item.ExtraData = NewMode.ToString();
Item.UpdateState();
Item.GetRoom().GetGameMap().updateMapForItem(Item);
Item.GetRoom().GetWired().TriggerEvent(WiredBoxType.TriggerStateChanges, Session.GetHabbo(), Item);
//Item.GetRoom().GenerateMaps();
}
示例7: OnTrigger
public void OnTrigger(GameClient Session, Item Item, int Request, bool HasRights)
{
if (Item.ExtraData != "1" && Item.GetBaseItem().VendingIds.Count >= 1 && Item.InteractingUser == 0 &&
Session != null)
{
RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
if (User == null)
{
return;
}
if (!Gamemap.TilesTouching(User.X, User.Y, Item.GetX, Item.GetY))
{
User.MoveTo(Item.SquareInFront);
return;
}
Item.InteractingUser = Session.GetHabbo().Id;
User.CanWalk = false;
User.ClearMovement(true);
User.SetRot(Rotation.Calculate(User.X, User.Y, Item.GetX, Item.GetY), false);
Item.RequestUpdate(2, true);
Item.ExtraData = "1";
Item.UpdateState(false, true);
}
}
示例8: OnRemove
public void OnRemove(GameClient Session, Item Item)
{
Item.GetRoom().GetRoomItemHandler().HopperCount--;
using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().GetQueryReactor())
{
dbClient.SetQuery("DELETE FROM items_hopper WHERE [email protected] OR room_id=" + Item.GetRoom().RoomId +
" LIMIT 1");
dbClient.AddParameter("hid", Item.Id);
dbClient.RunQuery();
}
if (Item.InteractingUser != 0)
{
RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser);
if (User != null)
{
User.UnlockWalking();
}
Item.InteractingUser = 0;
}
}
示例9: OnRemove
public void OnRemove(GameClient Session, Item Item)
{
Item.ExtraData = "0";
if (Item.InteractingUser > 0)
{
RoomUser User = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Item.InteractingUser);
if (User != null)
{
User.CanWalk = true;
}
}
}
示例10: OnWiredTrigger
public void OnWiredTrigger(Item Item)
{
int Modes = Item.GetBaseItem().Modes - 1;
if (Modes <= 0)
{
Item.UpdateState(false, true);
}
int CurrentMode = 0;
int NewMode = 0;
if (!int.TryParse(Item.ExtraData, out CurrentMode))
{
}
if (CurrentMode <= 0)
{
NewMode = 1;
}
else if (CurrentMode >= Modes)
{
NewMode = 0;
}
else
{
NewMode = CurrentMode + 1;
}
if (NewMode == 0)
{
if (!Item.GetRoom().GetGameMap().itemCanBePlacedHere(Item.GetX, Item.GetY))
{
return;
}
}
Item.ExtraData = NewMode.ToString();
Item.UpdateState();
Item.GetRoom().GetGameMap().updateMapForItem(Item);
//Item.GetRoom().GenerateMaps();
}