mirror of
https://github.com/islehorse/HISP.git
synced 2025-04-24 05:35:51 +12:00
Implement Drawing Rooms
This commit is contained in:
parent
29fe3ec024
commit
92c35eb4b9
10 changed files with 355 additions and 17 deletions
|
@ -9,6 +9,15 @@ namespace HISP.Game.SwfModules
|
|||
{
|
||||
class Drawingroom
|
||||
{
|
||||
private static List<Drawingroom> drawingRooms = new List<Drawingroom>();
|
||||
public static Drawingroom[] DrawingRooms
|
||||
{
|
||||
get
|
||||
{
|
||||
return drawingRooms.ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
private string drawing;
|
||||
public string Drawing
|
||||
{
|
||||
|
@ -32,11 +41,43 @@ namespace HISP.Game.SwfModules
|
|||
public int Id;
|
||||
public Drawingroom(int roomId)
|
||||
{
|
||||
|
||||
if (!Database.DrawingRoomExists(roomId))
|
||||
{
|
||||
Database.CreateDrawingRoom(roomId);
|
||||
Database.SetLastPlayer("D" + roomId.ToString(), -1);
|
||||
}
|
||||
|
||||
drawing = Database.GetDrawingRoomDrawing(roomId);
|
||||
Id = roomId;
|
||||
|
||||
drawingRooms.Add(this);
|
||||
}
|
||||
public static void LoadAllDrawingRooms()
|
||||
{
|
||||
// iterate over every special tile
|
||||
foreach(World.SpecialTile tile in World.SpecialTiles)
|
||||
{
|
||||
if(tile.Code != null)
|
||||
{
|
||||
if (tile.Code.StartsWith("MULTIROOM-D"))
|
||||
{
|
||||
int roomId = int.Parse(tile.Code.Substring(11));
|
||||
Logger.InfoPrint("Loading Drawing Room ID: " + roomId.ToString());
|
||||
Drawingroom room = new Drawingroom(roomId);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
public static Drawingroom GetDrawingRoomById(int id)
|
||||
{
|
||||
foreach(Drawingroom room in DrawingRooms)
|
||||
{
|
||||
if (room.Id == id)
|
||||
return room;
|
||||
}
|
||||
throw new KeyNotFoundException("Room with id: " + id + " not found.");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue