Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void NAVIGATE()
- {
- int nodeId = Request.PopWiredInt32();
- NavigatorNode node = IonEnvironment.GetHabboHotel().GetNavigator().GetNode(nodeId);
- if (node == null)
- return;
- List<NavigatorNode> subNodes = IonEnvironment.GetHabboHotel().GetNavigator().GetNavigatorSubNodes(node.Id);
- Response.Initialize(220);
- Response.AppendInt32(node.Id); // node id
- Response.AppendInt32(node.Type.Equals("category") ? 0 : 2); // if this is 0, it will not include flats, if this is 2, it could
- Response.AppendString(node.Name, 2); // name
- Response.AppendInt32(0); // percent filled (shouldn't do anything for top-level nodes, only when seen as a subnode)
- Response.AppendInt32(node.ParentId); // parent node id
- Response.AppendInt32(node.Type.Equals("category") ? 0 : 2); // if this is 0, not append anything. If this is 2, append flat count in category + flats
- if (node.Type.Equals("private")) // if above int is 2
- {
- List<Flat> flats = IonEnvironment.GetHabboHotel().GetRoomManager().GetFlats(node.Id);
- Response.AppendInt32(flats.Count);
- foreach (Flat flat in flats)
- {
- Response.AppendInt32(flat.Id);
- Response.AppendString(flat.Name, 2);
- Response.AppendString("-", 2); // oowner name but too cba to get owner name
- Response.AppendString(flat.State.ToString(), 2);
- Response.AppendInt32(flat.CurrentUsers);
- Response.AppendString(flat.Description, 2);
- }
- }
- // repeat while tConn <> void()
- foreach (NavigatorNode subNode in subNodes)
- {
- Response.AppendInt32(subNode.Id); // sub node id
- Response.AppendInt32(subNode.Type.Equals("category") ? 0 : subNode.Type.Equals("public") ? 1 : 2); // if this is 0, it's a normal subnode (category), if it's 1, it's a public room, if it's 2, it appends flat list I ASSUME
- Response.AppendString(subNode.Name, 2); // name
- Response.AppendInt32(0); // percent filled (changes bar color)
- Response.AppendInt32(subNode.ParentId); // parent node id
- Response.AppendInt32(subNode.Type.Equals("category") ? 0 : subNode.Type.Equals("public") ? 1 : 2); // type, okay, so if this is 1, this node is a public room, if this is 0, it's a category. If this is 2, it shows flats
- if (subNode.Type.Equals("public")) // node is a pbulic room
- {
- PublicRoom publicRoom = IonEnvironment.GetHabboHotel().GetRoomManager().GetPublicRoom(subNode.PublicId);
- if (publicRoom != null)
- {
- Response.AppendString(publicRoom.Description, 2);
- Response.AppendInt32(0); // port?
- Response.AppendInt32(0); // door?
- Response.AppendString(publicRoom.Casts, 2); // casts AKA ccts
- }
- }
- else if (subNode.Type.Equals("private"))
- {
- List<Flat> flats = IonEnvironment.GetHabboHotel().GetRoomManager().GetFlats(subNode.Id);
- Response.AppendInt32(flats.Count);
- foreach(Flat flat in flats)
- {
- Response.AppendInt32(flat.Id);
- Response.AppendString(flat.Name, 2);
- Response.AppendString("-", 2);
- Response.AppendString(flat.State.ToString(), 2);
- Response.AppendInt32(flat.CurrentUsers);
- Response.AppendString(flat.Description, 2);
- }
- }
- }
- SendResponse();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement