combat actually works
This commit is contained in:
@@ -22,34 +22,34 @@ namespace OpenRa.Game.GameRules
|
||||
if( fieldType == typeof( int ) )
|
||||
return int.Parse( x );
|
||||
|
||||
else if( fieldType == typeof( float ) )
|
||||
return float.Parse( x );
|
||||
else if (fieldType == typeof(float))
|
||||
return float.Parse(x.Replace("%","")) * (x.Contains( '%' ) ? 0.01f : 1f);
|
||||
|
||||
else if( fieldType == typeof( string ) )
|
||||
else if (fieldType == typeof(string))
|
||||
return x;//.ToLowerInvariant();
|
||||
|
||||
else if( fieldType.IsEnum )
|
||||
return Enum.Parse( fieldType, x );
|
||||
else if (fieldType.IsEnum)
|
||||
return Enum.Parse(fieldType, x);
|
||||
|
||||
else if( fieldType == typeof( bool ) )
|
||||
return ParseYesNo( x );
|
||||
else if (fieldType == typeof(bool))
|
||||
return ParseYesNo(x);
|
||||
|
||||
else if( fieldType.IsArray )
|
||||
else if (fieldType.IsArray)
|
||||
{
|
||||
var parts = x.Split( new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries );
|
||||
var parts = x.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||||
|
||||
var ret = Array.CreateInstance( fieldType.GetElementType(), parts.Length );
|
||||
for( int i = 0 ; i < parts.Length ; i++ )
|
||||
ret.SetValue( GetValue( fieldType.GetElementType(), parts[ i ].Trim() ), i );
|
||||
var ret = Array.CreateInstance(fieldType.GetElementType(), parts.Length);
|
||||
for (int i = 0; i < parts.Length; i++)
|
||||
ret.SetValue(GetValue(fieldType.GetElementType(), parts[i].Trim()), i);
|
||||
return ret;
|
||||
}
|
||||
else if( fieldType == typeof( int2 ) )
|
||||
else if (fieldType == typeof(int2))
|
||||
{
|
||||
var parts = x.Split( new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries );
|
||||
return new int2( int.Parse( parts[ 0 ] ), int.Parse( parts[ 1 ] ) );
|
||||
var parts = x.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||||
return new int2(int.Parse(parts[0]), int.Parse(parts[1]));
|
||||
}
|
||||
else
|
||||
throw new InvalidOperationException( "FieldLoader: don't know how to load field of type " + fieldType.ToString() );
|
||||
throw new InvalidOperationException("FieldLoader: don't know how to load field of type " + fieldType.ToString());
|
||||
}
|
||||
|
||||
static bool ParseYesNo( string p )
|
||||
|
||||
Reference in New Issue
Block a user