Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ RemoveAtInt()

bool System.ComponentModel.MaskedTextProvider.RemoveAtInt ( int startPosition,
int endPosition,
out int testPosition,
out MaskedTextResultHint resultHint,
bool testOnly )
inlineprivate

Definition at line 1027 of file MaskedTextProvider.cs.

1028 {
1030 int num = FindEditPositionInRange(startPosition, endPosition, direction: true);
1032 if (num == -1 || num > lastAssignedPosition)
1033 {
1035 return true;
1036 }
1038 bool flag = endPosition < lastAssignedPosition;
1040 {
1042 }
1043 if (flag)
1044 {
1045 int num2 = FindEditPositionFrom(endPosition + 1, direction: true);
1046 int num3 = num2;
1047 startPosition = num;
1048 while (true)
1049 {
1050 char c = _testString[num2];
1051 CharDescriptor charDescriptor = _stringDescriptor[num2];
1052 if ((c != PromptChar || charDescriptor.IsAssigned) && !TestChar(c, num, out var resultHint2))
1053 {
1055 testPosition = num;
1056 return false;
1057 }
1059 {
1060 break;
1061 }
1062 num2 = FindEditPositionFrom(num2 + 1, direction: true);
1063 num = FindEditPositionFrom(num + 1, direction: true);
1064 }
1065 if (MaskedTextResultHint.SideEffect > resultHint)
1066 {
1067 resultHint = MaskedTextResultHint.SideEffect;
1068 }
1069 if (testOnly)
1070 {
1071 return true;
1072 }
1073 num2 = num3;
1074 num = startPosition;
1075 while (true)
1076 {
1077 char c2 = _testString[num2];
1078 CharDescriptor charDescriptor2 = _stringDescriptor[num2];
1079 if (c2 == PromptChar && !charDescriptor2.IsAssigned)
1080 {
1081 ResetChar(num);
1082 }
1083 else
1084 {
1085 SetChar(c2, num);
1086 ResetChar(num2);
1087 }
1089 {
1090 break;
1091 }
1092 num2 = FindEditPositionFrom(num2 + 1, direction: true);
1093 num = FindEditPositionFrom(num + 1, direction: true);
1094 }
1095 startPosition = num + 1;
1096 }
1098 {
1100 }
1101 return true;
1102 }
int FindEditPositionInRange(int startPosition, int endPosition, bool direction)
bool TestChar(char input, int position, out MaskedTextResultHint resultHint)
void ResetString(int startPosition, int endPosition)
int FindAssignedEditPositionInRange(int startPosition, int endPosition, bool direction)
int FindEditPositionFrom(int position, bool direction)

References System.ComponentModel.MaskedTextProvider._stringDescriptor, System.ComponentModel.MaskedTextProvider._testString, System.ComponentModel.MaskedTextProvider.FindAssignedEditPositionInRange(), System.ComponentModel.MaskedTextProvider.FindEditPositionFrom(), System.ComponentModel.MaskedTextProvider.FindEditPositionInRange(), System.ComponentModel.MaskedTextProvider.LastAssignedPosition, System.ComponentModel.MaskedTextProvider.PromptChar, System.ComponentModel.MaskedTextProvider.ResetChar(), System.ComponentModel.MaskedTextProvider.ResetString(), System.ComponentModel.MaskedTextProvider.SetChar(), and System.ComponentModel.MaskedTextProvider.TestChar().

Referenced by System.ComponentModel.MaskedTextProvider.RemoveAt(), and System.ComponentModel.MaskedTextProvider.Replace().