mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-19 20:39:01 +00:00
62 lines
No EOL
2 KiB
C#
62 lines
No EOL
2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Cosmos.BuildEngine
|
|
{
|
|
public abstract class BuildOption
|
|
{
|
|
public readonly String OptionName;
|
|
public readonly String OptionDescription;
|
|
|
|
public BuildOption(String Name, String Description)
|
|
{
|
|
OptionName = Name;
|
|
OptionDescription = Description;
|
|
}
|
|
}
|
|
public sealed class BuildOption_Boolean : BuildOption
|
|
{
|
|
public readonly bool OptionValue;
|
|
|
|
public BuildOption_Boolean(String Name, String Description, bool DefaultValue)
|
|
: base(Name, Description)
|
|
{
|
|
OptionValue = DefaultValue;
|
|
}
|
|
}
|
|
public sealed class BuildOption_SelectOne : BuildOption
|
|
{
|
|
public readonly String OptionValue;
|
|
public readonly String[] OptionOptions;
|
|
|
|
public BuildOption_SelectOne(String Name, String Description, String[] Options, int DefaultOption)
|
|
: base(Name, Description)
|
|
{
|
|
OptionOptions = Options;
|
|
OptionValue = OptionOptions[DefaultOption];
|
|
}
|
|
}
|
|
public sealed class BuildOption_String : BuildOption
|
|
{
|
|
public readonly String OptionValue;
|
|
public delegate bool dVerifyOption(String OptionValue, out String VerificationFailureMessage);
|
|
public readonly dVerifyOption OptionVerifier;
|
|
|
|
public BuildOption_String(String Name, String Description, String DefaultValue)
|
|
: base(Name, Description)
|
|
{
|
|
OptionValue = DefaultValue;
|
|
OptionVerifier = delegate(String optionvalue, out String VerificationFailureMessage)
|
|
{
|
|
VerificationFailureMessage = "";
|
|
return true;
|
|
};
|
|
}
|
|
public BuildOption_String(String Name, String Description, String DefaultValue, dVerifyOption Verifier)
|
|
: base(Name, Description)
|
|
{
|
|
OptionValue = DefaultValue;
|
|
OptionVerifier = Verifier;
|
|
}
|
|
}
|
|
} |