muddesigner/MudEngine/WinPC_Engine/GameScripts/SampleGame.cs

61 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MudEngine.DAL;
using MudEngine.Game.Environment;
using MudEngine.Game;
namespace MudEngine.GameScripts
{
public class SampleGame : StandardGame
{
public SampleGame(String name)
: base(name)
{
this.Name = "Sample Mud Game";
this.Debugging = true;
this.Description = "A sample MUD game created using the Mud Designer engine.";
this.Website = "http://muddesigner.codeplex.com";
}
public override Boolean Start(Int32 maxPlayers, Int32 maxQueueSize)
{
this.Server.ServerOwner = "Admin";
base.Start(maxPlayers, maxQueueSize);
//Quick demonstration on how to create the initial starting room for new players.
this.World.CreateRealm("Azeroth", "Starting Realm for beginning players");
Zone z = this.World.GetRealm("Azeroth").CreateZone("Bedlam", "Initial Zone for new players.");
Room bedroom = z.CreateRoom("Bedroom", "This is your bedroom.");
Room hallway = z.CreateRoom("Hallway", "This is the hallway.");
//Save if the result of the Linkage.
Boolean linked = bedroom.LinkRooms(AvailableTravelDirections.West, hallway);
//Call our parent Start() method which will start the world and server
//along with compile all of our commands and scripts.
Boolean startOK = base.Start(maxPlayers, maxQueueSize);
//If the parent started ok and our rooms were linked together
//Set the starting location as our new room
if (startOK && linked)
{
this.World.StartLocation = bedroom;
this.World.Save();
return true;
}
//Otherwise return false and prevent the game from running.
else
{
this.Enabled = false;
return false;
}
}
}
}