using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Xml;
//MudEngine
using MUDEngine.Objects;
using MUDEngine.Objects.Environment;
using MUDEngine.FileSystem;
namespace MUDEngine
{
[XmlInclude(typeof(StartingLocation))]
public class ProjectInformation
{
public struct StartingLocation
{
public Room Room;
public Zone Zone;
public Realm Realm;
}
public enum TimeOfDayOptions
{
AlwaysDay,
AlwaysNight,
Transition,
}
[Category("Company Information")]
///
/// Gets or Sets the name of the company
///
public string CompanyName { get; set; }
[Category("Company Information")]
///
/// Gets or Sets the companies website for this project
///
public string Website { get; set; }
[Category("Project Settings")]
[Description("The name of the project.")]
public string ProjectName { get; set; }
[Category("Project Settings")]
///
/// Gets or Sets if the game autosaves when the player changes locations.
///
public bool AutoSave { get; set; }
[Category("Project Settings")]
///
/// Gets or Sets if room names are hidden during console output.
///
public bool HideRoomNames { get; set; }
[Category("Project Settings")]
public TimeOfDayOptions TimeOfDay
{
get;
set;
}
[Category("Project Settings")]
[Description("Set how long in minutes it takes to transition from day to night.")]
public int TimeOfDayTransition
{
get;
set;
}
[Category("Project Settings")]
[Description("Sets how long in minutes a day lasts in the game world.")]
public int DayLength
{
get;
set;
}
[Category("Project Information")]
public string Version { get; set; }
[Category("Project Information")]
[Description("Sets the amount that the base currency is valued at.")]
public uint BaseCurrencyAmount { get; set; }
[Category("Project Information")]
public string BaseCurrencyName { get; set; }
//TODO: Add Party support.
[Browsable(false)]
public List CurrencyList { get; set; }
[Browsable(false)]
public string ProjectPath { get; set; }
[Browsable(false)]
public StartingLocation InitialLocation
{
get;
set;
}
[Browsable(false)]
public string Story
{
get;
set;
}
}
}