mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-16 11:06:06 -04:00
Store enum type in the EnumValidator, in preparation for the options buttons to also show the enum value.
This commit is contained in:
parent
abf965b346
commit
37c6d8c84e
@ -61,7 +61,6 @@ namespace ClassicalSharp.Gui {
|
||||
(g, w) => g.SetNewScreen( new PauseScreen( g ) ) ),
|
||||
null, null,
|
||||
};
|
||||
widgets[7].Metadata = typeof(FpsLimitMethod);
|
||||
MakeValidators();
|
||||
}
|
||||
|
||||
@ -84,7 +83,7 @@ namespace ClassicalSharp.Gui {
|
||||
new BooleanValidator(),
|
||||
new BooleanValidator(),
|
||||
new BooleanValidator(),
|
||||
new EnumValidator(),
|
||||
new EnumValidator( typeof(FpsLimitMethod) ),
|
||||
game.ClassicHacks ? new BooleanValidator() : null,
|
||||
};
|
||||
}
|
||||
|
@ -91,7 +91,7 @@ namespace ClassicalSharp.Gui {
|
||||
|
||||
new HexColourValidator(),
|
||||
new HexColourValidator(),
|
||||
new EnumValidator(),
|
||||
new EnumValidator( typeof(Weather) ),
|
||||
new IntegerValidator( -2048, 2048 ),
|
||||
};
|
||||
}
|
||||
|
@ -43,9 +43,6 @@ namespace ClassicalSharp.Gui {
|
||||
(g, w) => g.SetNewScreen( new OptionsGroupScreen( g ) ) ),
|
||||
null, null,
|
||||
};
|
||||
widgets[0].Metadata = typeof(FpsLimitMethod);
|
||||
widgets[2].Metadata = typeof(NameMode);
|
||||
widgets[3].Metadata = typeof(EntityShadow);
|
||||
MakeValidators();
|
||||
MakeDescriptions();
|
||||
}
|
||||
@ -53,10 +50,10 @@ namespace ClassicalSharp.Gui {
|
||||
void MakeValidators() {
|
||||
INetworkProcessor network = game.Network;
|
||||
validators = new MenuInputValidator[] {
|
||||
new EnumValidator(),
|
||||
new EnumValidator( typeof(FpsLimitMethod) ),
|
||||
new IntegerValidator( 16, 4096 ),
|
||||
new EnumValidator(),
|
||||
new EnumValidator(),
|
||||
new EnumValidator( typeof(NameMode) ),
|
||||
new EnumValidator( typeof(EntityShadow) ),
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -236,7 +236,8 @@ namespace ClassicalSharp.Gui {
|
||||
UpdateDescription( button );
|
||||
return;
|
||||
} else if( validator is EnumValidator ) {
|
||||
HandleEnumOption( button );
|
||||
Type type = ((EnumValidator)validator).EnumType;
|
||||
HandleEnumOption( button, type );
|
||||
return;
|
||||
}
|
||||
|
||||
@ -253,9 +254,8 @@ namespace ClassicalSharp.Gui {
|
||||
UpdateDescription( targetWidget );
|
||||
}
|
||||
|
||||
void HandleEnumOption( ButtonWidget button ) {
|
||||
void HandleEnumOption( ButtonWidget button, Type type ) {
|
||||
string value = button.GetValue( game );
|
||||
Type type = (Type)button.Metadata;
|
||||
int enumValue = (int)Enum.Parse( type, value, true );
|
||||
enumValue++;
|
||||
// go back to first value
|
||||
|
@ -25,7 +25,7 @@ namespace ClassicalSharp.Gui {
|
||||
MakeBool( -1, 0, "Classic player list", OptionsKey.UseClassicTabList,
|
||||
OnWidgetClick, g => g.UseClassicTabList, (g, v) => g.UseClassicTabList = v ),
|
||||
|
||||
MakeBool( -1, 50, "Classic options menu", OptionsKey.UseClassicOptions,
|
||||
MakeBool( -1, 50, "Classic options", OptionsKey.UseClassicOptions,
|
||||
OnWidgetClick, g => g.UseClassicOptions, (g, v) => g.UseClassicOptions = v ),
|
||||
|
||||
// Column 2
|
||||
@ -35,7 +35,7 @@ namespace ClassicalSharp.Gui {
|
||||
MakeBool( 1, -50, "Use CPE", OptionsKey.UseCPE,
|
||||
OnWidgetClick, g => g.UseCPE, (g, v) => g.UseCPE = v ),
|
||||
|
||||
MakeBool( 1, 0, "Allow server textures", OptionsKey.AllowServerTextures,
|
||||
MakeBool( 1, 0, "Use server textures", OptionsKey.AllowServerTextures,
|
||||
OnWidgetClick, g => g.AllowServerTextures, (g, v) => g.AllowServerTextures = v ),
|
||||
|
||||
MakeBack( false, titleFont,
|
||||
|
@ -117,9 +117,7 @@ namespace ClassicalSharp.Gui {
|
||||
|| c == '<' || c == '>' || c == '|' || c == '"');
|
||||
}
|
||||
|
||||
public override bool IsValidString( string s ) {
|
||||
return true;
|
||||
}
|
||||
public override bool IsValidString( string s ) { return true; }
|
||||
}
|
||||
|
||||
public sealed class BooleanValidator : MenuInputValidator {
|
||||
@ -128,32 +126,25 @@ namespace ClassicalSharp.Gui {
|
||||
Range = "&7(yes or no)";
|
||||
}
|
||||
|
||||
public override bool IsValidChar( char c ) {
|
||||
return c >= 'a' && c <= 'z';
|
||||
}
|
||||
public override bool IsValidChar( char c ) { return true; }
|
||||
|
||||
public override bool IsValidString( string s ) {
|
||||
return s.Length <= 3;
|
||||
}
|
||||
public override bool IsValidString( string s ) { return true; }
|
||||
|
||||
public override bool IsValidValue( string s ) {
|
||||
return s == "yes" || s == "no";
|
||||
}
|
||||
public override bool IsValidValue( string s ) { return true; }
|
||||
}
|
||||
|
||||
public sealed class EnumValidator : MenuInputValidator {
|
||||
|
||||
public override bool IsValidChar( char c ) {
|
||||
return true;
|
||||
public Type EnumType;
|
||||
public EnumValidator( Type type ) {
|
||||
EnumType = type;
|
||||
}
|
||||
|
||||
public override bool IsValidString( string s ) {
|
||||
return true;
|
||||
}
|
||||
public override bool IsValidChar( char c ) { return true; }
|
||||
|
||||
public override bool IsValidValue( string s ) {
|
||||
return true;
|
||||
}
|
||||
public override bool IsValidString( string s ) { return true; }
|
||||
|
||||
public override bool IsValidValue( string s ) { return true; }
|
||||
}
|
||||
|
||||
public sealed class StringValidator : MenuInputValidator {
|
||||
|
@ -4,7 +4,7 @@
|
||||
<ProjectGuid>{BEB1C785-5CAD-48FF-A886-876BF0A318D4}</ProjectGuid>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<OutputType>Exe</OutputType>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>ClassicalSharp</RootNamespace>
|
||||
<AssemblyName>ClassicalSharp</AssemblyName>
|
||||
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
|
||||
|
@ -271,14 +271,12 @@ namespace ClassicalSharp.Entities {
|
||||
BoundingBox bb = CollisionBounds;
|
||||
Vector3I P = Vector3I.Floor( spawn );
|
||||
int bbMax = Utils.Floor( size.Y );
|
||||
|
||||
int minX = Utils.Floor( -size.X / 2 ), maxX = Utils.Floor( size.X / 2 );
|
||||
int minZ = Utils.Floor( -size.Z / 2 ), maxZ = Utils.Floor( size.Z / 2 );
|
||||
|
||||
// Spawn player at highest valid position.
|
||||
for( int y = P.Y; y <= game.World.Height; y++ ) {
|
||||
bool anyHit = false;
|
||||
Console.WriteLine( "~~~~~" );
|
||||
for( int yy = 0; yy <= bbMax; yy++ )
|
||||
for( int zz = minZ; zz <= maxZ; zz++ )
|
||||
for ( int xx = minX; xx <= maxX; xx++ )
|
||||
|
Loading…
x
Reference in New Issue
Block a user