mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-24 05:10:42 -04:00
Use named StringLength constant instead of hardcoding 64 everywhere, replace StringBuilder with StringBuffer.
This commit is contained in:
parent
b3e0b8b32b
commit
8c52ada595
@ -81,7 +81,7 @@ namespace ClassicalSharp.Gui {
|
|||||||
MenuInputWidget.Create(
|
MenuInputWidget.Create(
|
||||||
game, 0, -35, 500, 30, curHotkey.Text,
|
game, 0, -35, 500, 30, curHotkey.Text,
|
||||||
Anchor.Centre, Anchor.Centre,
|
Anchor.Centre, Anchor.Centre,
|
||||||
regularFont, titleFont, new StringValidator( 64 ) ),
|
regularFont, titleFont, new StringValidator( Utils.StringLength ) ),
|
||||||
Make( -100, 10, "Input stays open: " + staysOpen,
|
Make( -100, 10, "Input stays open: " + staysOpen,
|
||||||
301, 40, titleFont, LeaveOpenClick ),
|
301, 40, titleFont, LeaveOpenClick ),
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ namespace ClassicalSharp.Gui {
|
|||||||
if( caretPos != -1 ) caretPos -= len;
|
if( caretPos != -1 ) caretPos -= len;
|
||||||
AppendText( matches[0] );
|
AppendText( matches[0] );
|
||||||
} else if( matches.Count > 1 ) {
|
} else if( matches.Count > 1 ) {
|
||||||
StringBuffer sb = new StringBuffer( 64 );
|
StringBuffer sb = new StringBuffer( Utils.StringLength );
|
||||||
int index = 0;
|
int index = 0;
|
||||||
sb.Append( ref index, "&e" );
|
sb.Append( ref index, "&e" );
|
||||||
sb.AppendNum( ref index, matches.Count );
|
sb.AppendNum( ref index, matches.Count );
|
||||||
@ -83,7 +83,7 @@ namespace ClassicalSharp.Gui {
|
|||||||
|
|
||||||
for( int i = 0; i < matches.Count; i++) {
|
for( int i = 0; i < matches.Count; i++) {
|
||||||
string match = matches[i];
|
string match = matches[i];
|
||||||
if( (match.Length + 1 + sb.Length) > LineLength ) break;
|
if( (sb.Length + match.Length + 1) > sb.Capacity ) break;
|
||||||
sb.Append( ref index, match );
|
sb.Append( ref index, match );
|
||||||
sb.Append( ref index, ' ' );
|
sb.Append( ref index, ' ' );
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ namespace ClassicalSharp.Gui {
|
|||||||
HorizontalAnchor = Anchor.LeftOrTop;
|
HorizontalAnchor = Anchor.LeftOrTop;
|
||||||
VerticalAnchor = Anchor.BottomOrRight;
|
VerticalAnchor = Anchor.BottomOrRight;
|
||||||
typingLogPos = game.Chat.InputLog.Count; // Index of newest entry + 1.
|
typingLogPos = game.Chat.InputLog.Count; // Index of newest entry + 1.
|
||||||
buffer = new WrappableStringBuffer( 64 * lines );
|
buffer = new WrappableStringBuffer( Utils.StringLength * lines );
|
||||||
|
|
||||||
DrawTextArgs args = new DrawTextArgs( "_", font, true );
|
DrawTextArgs args = new DrawTextArgs( "_", font, true );
|
||||||
caretTex = game.Drawer2D.MakeChatTextTexture( ref args, 0, 0 );
|
caretTex = game.Drawer2D.MakeChatTextTexture( ref args, 0, 0 );
|
||||||
@ -234,9 +234,9 @@ namespace ClassicalSharp.Gui {
|
|||||||
|
|
||||||
void SendWithPartial( string allText ) {
|
void SendWithPartial( string allText ) {
|
||||||
// don't automatically word wrap the message.
|
// don't automatically word wrap the message.
|
||||||
while( allText.Length > 64 ) {
|
while( allText.Length > Utils.StringLength ) {
|
||||||
game.Chat.Send( allText.Substring( 0, 64 ), true );
|
game.Chat.Send( allText.Substring( 0, Utils.StringLength ), true );
|
||||||
allText = allText.Substring( 64 );
|
allText = allText.Substring( Utils.StringLength );
|
||||||
}
|
}
|
||||||
game.Chat.Send( allText, false );
|
game.Chat.Send( allText, false );
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ namespace ClassicalSharp.Gui {
|
|||||||
VerticalAnchor = Anchor.BottomOrRight;
|
VerticalAnchor = Anchor.BottomOrRight;
|
||||||
this.font = font;
|
this.font = font;
|
||||||
this.boldFont = boldFont;
|
this.boldFont = boldFont;
|
||||||
chatInputText = new StringBuffer( 64 );
|
chatInputText = new StringBuffer( Utils.StringLength );
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MenuInputWidget Create( Game game, int x, int y, int width, int height, string text, Anchor horizontal,
|
public static MenuInputWidget Create( Game game, int x, int y, int width, int height, string text, Anchor horizontal,
|
||||||
@ -130,7 +130,7 @@ namespace ClassicalSharp.Gui {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public override bool HandlesKeyPress( char key ) {
|
public override bool HandlesKeyPress( char key ) {
|
||||||
if( chatInputText.Length < 64 && !IsInvalidChar( key ) ) {
|
if( chatInputText.Length < Utils.StringLength && !IsInvalidChar( key ) ) {
|
||||||
if( !Validator.IsValidChar( key ) ) return true;
|
if( !Validator.IsValidChar( key ) ) return true;
|
||||||
chatInputText.Append( chatInputText.Length, key );
|
chatInputText.Append( chatInputText.Length, key );
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
// ClassicalSharp copyright 2014-2016 UnknownShadow200 | Licensed under MIT
|
// ClassicalSharp copyright 2014-2016 UnknownShadow200 | Licensed under MIT
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace ClassicalSharp.Commands {
|
namespace ClassicalSharp.Commands {
|
||||||
|
|
||||||
@ -77,24 +76,24 @@ namespace ClassicalSharp.Commands {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void PrintDefinedCommands( Game game ) {
|
public void PrintDefinedCommands( Game game ) {
|
||||||
List<string> lines = new List<string>();
|
StringBuffer sb = new StringBuffer( Utils.StringLength );
|
||||||
StringBuilder buffer = new StringBuilder( 64 );
|
int index = 0;
|
||||||
|
|
||||||
for( int i = 0; i < RegisteredCommands.Count; i++ ) {
|
for( int i = 0; i < RegisteredCommands.Count; i++ ) {
|
||||||
Command cmd = RegisteredCommands[i];
|
Command cmd = RegisteredCommands[i];
|
||||||
string name = cmd.Name;
|
string name = cmd.Name;
|
||||||
|
|
||||||
if( buffer.Length + name.Length > 64 ) {
|
if( (sb.Length + name.Length + 2) > sb.Capacity ) {
|
||||||
lines.Add( buffer.ToString() );
|
game.Chat.Add( sb.ToString() );
|
||||||
buffer.Length = 0;
|
sb.Clear();
|
||||||
|
index = 0;
|
||||||
}
|
}
|
||||||
buffer.Append( name );
|
sb.Append( ref index, name );
|
||||||
buffer.Append( ", " );
|
sb.Append( ref index, ", " );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( buffer.Length > 0 )
|
if( sb.Length > 0 )
|
||||||
lines.Add( buffer.ToString() );
|
game.Chat.Add( sb.ToString() );
|
||||||
for( int i = 0; i < lines.Count; i++ )
|
|
||||||
game.Chat.Add( lines[i] );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Dispose() {
|
public void Dispose() {
|
||||||
|
@ -116,7 +116,7 @@ namespace ClassicalSharp {
|
|||||||
last = now;
|
last = now;
|
||||||
if( writer == null ) return;
|
if( writer == null ) return;
|
||||||
|
|
||||||
if( 32 + text.Length > logBuffer.capacity )
|
if( 32 + text.Length > logBuffer.Capacity )
|
||||||
logBuffer = new StringBuffer( 32 + text.Length );
|
logBuffer = new StringBuffer( 32 + text.Length );
|
||||||
int index = 0;
|
int index = 0;
|
||||||
logBuffer.Clear() // [HH:mm:ss] text
|
logBuffer.Clear() // [HH:mm:ss] text
|
||||||
|
@ -73,12 +73,12 @@ namespace ClassicalSharp.Network {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public string ReadCp437String() {
|
public string ReadCp437String() {
|
||||||
int length = GetString( false, 64 );
|
int length = GetString( false, Utils.StringLength );
|
||||||
return new String( characters, 0, length );
|
return new String( characters, 0, length );
|
||||||
}
|
}
|
||||||
|
|
||||||
public string ReadAsciiString() {
|
public string ReadAsciiString() {
|
||||||
int length = GetString( true, 64 );
|
int length = GetString( true, Utils.StringLength );
|
||||||
return new String( characters, 0, length );
|
return new String( characters, 0, length );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ namespace ClassicalSharp.Network {
|
|||||||
}
|
}
|
||||||
|
|
||||||
internal string ReadChatString( ref byte messageType ) {
|
internal string ReadChatString( ref byte messageType ) {
|
||||||
int length = GetString( false, 64 );
|
int length = GetString( false, Utils.StringLength );
|
||||||
|
|
||||||
int offset = 0;
|
int offset = 0;
|
||||||
if( length >= womDetail.Length && IsWomDetailString() ) {
|
if( length >= womDetail.Length && IsWomDetailString() ) {
|
||||||
@ -99,7 +99,7 @@ namespace ClassicalSharp.Network {
|
|||||||
return new String( characters, offset, length );
|
return new String( characters, offset, length );
|
||||||
}
|
}
|
||||||
|
|
||||||
static char[] characters = new char[64];
|
static char[] characters = new char[Utils.StringLength];
|
||||||
const string womDetail = "^detail.user=";
|
const string womDetail = "^detail.user=";
|
||||||
static bool IsWomDetailString() {
|
static bool IsWomDetailString() {
|
||||||
for( int i = 0; i < womDetail.Length; i++ ) {
|
for( int i = 0; i < womDetail.Length; i++ ) {
|
||||||
|
@ -15,7 +15,7 @@ namespace ClassicalSharp.Network {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void WriteString( string value ) {
|
public void WriteString( string value ) {
|
||||||
int count = Math.Min( value.Length, 64 );
|
int count = Math.Min( value.Length, Utils.StringLength );
|
||||||
for( int i = 0; i < count; i++ ) {
|
for( int i = 0; i < count; i++ ) {
|
||||||
char c = value[i];
|
char c = value[i];
|
||||||
int cpIndex = 0;
|
int cpIndex = 0;
|
||||||
@ -31,10 +31,10 @@ namespace ClassicalSharp.Network {
|
|||||||
buffer[index + i] = (byte)'?';
|
buffer[index + i] = (byte)'?';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for( int i = value.Length; i < 64; i++ ) {
|
|
||||||
|
for( int i = value.Length; i < Utils.StringLength; i++ )
|
||||||
buffer[index + i] = (byte)' ';
|
buffer[index + i] = (byte)' ';
|
||||||
}
|
index += Utils.StringLength;
|
||||||
index += 64;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WriteUInt8( byte value ) {
|
public void WriteUInt8( byte value ) {
|
||||||
|
@ -6,10 +6,10 @@ namespace ClassicalSharp {
|
|||||||
public class StringBuffer {
|
public class StringBuffer {
|
||||||
|
|
||||||
public char[] value;
|
public char[] value;
|
||||||
public int capacity;
|
public int Capacity;
|
||||||
|
|
||||||
public StringBuffer( int capacity ) {
|
public StringBuffer( int capacity ) {
|
||||||
this.capacity = capacity;
|
this.Capacity = capacity;
|
||||||
value = new char[capacity];
|
value = new char[capacity];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,19 +72,19 @@ namespace ClassicalSharp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public StringBuffer Clear() {
|
public StringBuffer Clear() {
|
||||||
for( int i = 0; i < capacity; i++ )
|
for( int i = 0; i < Capacity; i++ )
|
||||||
value[i] = '\0';
|
value[i] = '\0';
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DeleteAt( int index ) {
|
public void DeleteAt( int index ) {
|
||||||
for( int i = index; i < capacity - 1; i++ )
|
for( int i = index; i < Capacity - 1; i++ )
|
||||||
value[i] = value[i + 1];
|
value[i] = value[i + 1];
|
||||||
value[capacity - 1] = '\0';
|
value[Capacity - 1] = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InsertAt( int index, char c ) {
|
public void InsertAt( int index, char c ) {
|
||||||
for( int i = capacity - 1; i > index; i-- )
|
for( int i = Capacity - 1; i > index; i-- )
|
||||||
value[i] = value[i - 1];
|
value[i] = value[i - 1];
|
||||||
value[index] = c;
|
value[index] = c;
|
||||||
}
|
}
|
||||||
@ -96,7 +96,7 @@ namespace ClassicalSharp {
|
|||||||
|
|
||||||
public bool Empty {
|
public bool Empty {
|
||||||
get {
|
get {
|
||||||
for( int i = 0; i < capacity; i++ ) {
|
for( int i = 0; i < Capacity; i++ ) {
|
||||||
if( value[i] != '\0' )
|
if( value[i] != '\0' )
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -106,8 +106,8 @@ namespace ClassicalSharp {
|
|||||||
|
|
||||||
public int Length {
|
public int Length {
|
||||||
get {
|
get {
|
||||||
int len = capacity;
|
int len = Capacity;
|
||||||
for( int i = capacity - 1; i >= 0; i-- ) {
|
for( int i = Capacity - 1; i >= 0; i-- ) {
|
||||||
if( value[i] != '\0' )
|
if( value[i] != '\0' )
|
||||||
break;
|
break;
|
||||||
len--;
|
len--;
|
||||||
|
@ -25,6 +25,8 @@ namespace ClassicalSharp {
|
|||||||
|
|
||||||
public static class Utils {
|
public static class Utils {
|
||||||
|
|
||||||
|
public const int StringLength = 64;
|
||||||
|
|
||||||
/// <summary> Creates a vector with all components at 1E25. </summary>
|
/// <summary> Creates a vector with all components at 1E25. </summary>
|
||||||
public static Vector3 MaxPos() { return new Vector3( 1E25f, 1E25f, 1E25f ); }
|
public static Vector3 MaxPos() { return new Vector3( 1E25f, 1E25f, 1E25f ); }
|
||||||
|
|
||||||
@ -268,9 +270,9 @@ namespace ClassicalSharp {
|
|||||||
internal static byte FastByte( string s ) {
|
internal static byte FastByte( string s ) {
|
||||||
int sum = 0;
|
int sum = 0;
|
||||||
switch( s.Length ) {
|
switch( s.Length ) {
|
||||||
case 1: sum = (s[0] - '0'); break;
|
case 1: sum = (s[0] - '0'); break;
|
||||||
case 2: sum = (s[0] - '0') * 10 + (s[1] - '0'); break;
|
case 2: sum = (s[0] - '0') * 10 + (s[1] - '0'); break;
|
||||||
case 3: sum = (s[0] - '0') * 100 + (s[1] - '0') * 10 + (s[2] - '0'); break;
|
case 3: sum = (s[0] - '0') * 100 + (s[1] - '0') * 10 + (s[2] - '0'); break;
|
||||||
}
|
}
|
||||||
return (byte)sum;
|
return (byte)sum;
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,7 @@ namespace ClassicalSharp {
|
|||||||
for( int i = 0; i < len; i++ )
|
for( int i = 0; i < len; i++ )
|
||||||
wrap[i] = value[i];
|
wrap[i] = value[i];
|
||||||
|
|
||||||
for( int i = len; i < capacity; i++ )
|
for( int i = len; i < Capacity; i++ )
|
||||||
wrap[i] = '\0';
|
wrap[i] = '\0';
|
||||||
value = wrap;
|
value = wrap;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user