mirror of
https://github.com/SoDOff-Project/sodoff-mmo.git
synced 2025-10-11 08:18:49 -07:00
Room improvements
- add comments for roomInfo array fiels - allow external control for RoomVariables array
This commit is contained in:
parent
5c6f39c800
commit
e7e2c21be6
@ -20,7 +20,9 @@ public class GauntletRoom : Room {
|
|||||||
return newroom;
|
return newroom;
|
||||||
}
|
}
|
||||||
|
|
||||||
public GauntletRoom(string name) : base (name, "GauntletDO", true) { }
|
public GauntletRoom(string name) : base (name, "GauntletDO") {
|
||||||
|
base.RoomVariables.Add(NetworkArray.VlElement("IS_RACE_ROOM", true));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class Status {
|
class Status {
|
||||||
|
@ -12,9 +12,9 @@ public class Room {
|
|||||||
public int Id { get; private set; }
|
public int Id { get; private set; }
|
||||||
public string Name { get; private set; }
|
public string Name { get; private set; }
|
||||||
public string Group { get; private set; }
|
public string Group { get; private set; }
|
||||||
public bool IsRaceRoom { get; private set; }
|
public NetworkArray RoomVariables = new();
|
||||||
|
|
||||||
public Room(string name, string group = null, bool isRaceRoom = false) {
|
public Room(string name, string group = null) {
|
||||||
Id = rooms.Count + 3;
|
Id = rooms.Count + 3;
|
||||||
Name = name;
|
Name = name;
|
||||||
if (group is null) {
|
if (group is null) {
|
||||||
@ -22,7 +22,6 @@ public class Room {
|
|||||||
} else {
|
} else {
|
||||||
Group = group;
|
Group = group;
|
||||||
}
|
}
|
||||||
IsRaceRoom = isRaceRoom;
|
|
||||||
rooms.Add(Name, this);
|
rooms.Add(Name, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,30 +70,14 @@ public class Room {
|
|||||||
roomInfo.Add(Id);
|
roomInfo.Add(Id);
|
||||||
roomInfo.Add(Name); // Room Name
|
roomInfo.Add(Name); // Room Name
|
||||||
roomInfo.Add(Group); // Group Name
|
roomInfo.Add(Group); // Group Name
|
||||||
roomInfo.Add(true);
|
roomInfo.Add(true); // is game
|
||||||
roomInfo.Add(false);
|
roomInfo.Add(false); // is hidden
|
||||||
roomInfo.Add(false);
|
roomInfo.Add(false); // is password protected
|
||||||
if (IsRaceRoom) {
|
roomInfo.Add((short)clients.Count); // player count
|
||||||
NetworkArray raceRoom = new();
|
roomInfo.Add((short)4096); // max player count
|
||||||
raceRoom.Add("IS_RACE_ROOM");
|
roomInfo.Add(RoomVariables); // variables
|
||||||
raceRoom.Add((Byte)1);
|
roomInfo.Add((short)0); // spectator count
|
||||||
raceRoom.Add(true);
|
roomInfo.Add((short)0); // max spectator count
|
||||||
raceRoom.Add(false);
|
|
||||||
raceRoom.Add(false);
|
|
||||||
|
|
||||||
NetworkArray raceRoom2 = new();
|
|
||||||
raceRoom2.Add(raceRoom);
|
|
||||||
|
|
||||||
roomInfo.Add((short)1);
|
|
||||||
roomInfo.Add((short)2);
|
|
||||||
roomInfo.Add(raceRoom2);
|
|
||||||
} else {
|
|
||||||
roomInfo.Add((short)24);
|
|
||||||
roomInfo.Add((short)27);
|
|
||||||
roomInfo.Add(new NetworkArray());
|
|
||||||
}
|
|
||||||
roomInfo.Add((short)0);
|
|
||||||
roomInfo.Add((short)0);
|
|
||||||
|
|
||||||
NetworkArray userList = new();
|
NetworkArray userList = new();
|
||||||
foreach (Client player in Clients) {
|
foreach (Client player in Clients) {
|
||||||
@ -121,40 +104,16 @@ public class Room {
|
|||||||
r1.Add(true);
|
r1.Add(true);
|
||||||
r1.Add(false);
|
r1.Add(false);
|
||||||
r1.Add(false);
|
r1.Add(false);
|
||||||
if (IsRaceRoom) {
|
r1.Add((short)clients.Count); // player count
|
||||||
r1.Add((short)1);
|
r1.Add((short)4096); // max player count
|
||||||
r1.Add((short)2);
|
|
||||||
} else {
|
|
||||||
r1.Add((short)24);
|
|
||||||
r1.Add((short)27);
|
|
||||||
}
|
|
||||||
r1.Add(new NetworkArray());
|
r1.Add(new NetworkArray());
|
||||||
r1.Add((short)0);
|
r1.Add((short)0);
|
||||||
r1.Add((short)0);
|
r1.Add((short)0);
|
||||||
|
|
||||||
NetworkArray r2 = new();
|
|
||||||
r2.Add(Id);
|
|
||||||
r2.Add(Name); // Room Name
|
|
||||||
r2.Add(Group); // Group Name
|
|
||||||
r2.Add(true);
|
|
||||||
r2.Add(false);
|
|
||||||
r2.Add(false);
|
|
||||||
if (IsRaceRoom) {
|
|
||||||
r2.Add((short)1);
|
|
||||||
r2.Add((short)2);
|
|
||||||
} else {
|
|
||||||
r2.Add((short)7);
|
|
||||||
r2.Add((short)27);
|
|
||||||
}
|
|
||||||
r2.Add(new NetworkArray());
|
|
||||||
r2.Add((short)0);
|
|
||||||
r2.Add((short)0);
|
|
||||||
|
|
||||||
list.Add(r1);
|
list.Add(r1);
|
||||||
list.Add(r2);
|
|
||||||
|
|
||||||
obj.Add("rl", list);
|
obj.Add("rl", list);
|
||||||
obj.Add("g", Name);
|
obj.Add("g", Group);
|
||||||
return NetworkObject.WrapObject(0, 15, obj).Serialize();
|
return NetworkObject.WrapObject(0, 15, obj).Serialize();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user