This commit is contained in:
Ricardo Fernández Serrata 2023-02-19 02:07:39 +02:00 committed by GitHub
commit dc6aabbb52
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 34 additions and 26 deletions

View File

@ -36,7 +36,7 @@ class Alphabet extends FlxSpriteGroup
var xPosResetted:Bool = false;
var lastWasSpace:Bool = false;
var splitWords:Array<String> = [];
var splitChars:Array<String> = [];
var isBold:Bool = false;
@ -50,23 +50,16 @@ class Alphabet extends FlxSpriteGroup
if (text != "")
{
if (typed)
{
startTypedText();
}
else
{
addText();
}
typed ? startTypedText() : addText();
}
}
public function addText()
{
doSplitWords();
doSplitChars();
var xPos:Float = 0;
for (character in splitWords)
for (character in splitChars)
{
// if (character.fastCodeAt() == " ")
// {
@ -110,9 +103,9 @@ class Alphabet extends FlxSpriteGroup
}
}
function doSplitWords():Void
function doSplitChars():Void
{
splitWords = _finalText.split("");
splitChars = _finalText.split("");
}
public var personTalking:String = 'gf';
@ -120,7 +113,7 @@ class Alphabet extends FlxSpriteGroup
public function startTypedText():Void
{
_finalText = text;
doSplitWords();
doSplitChars();
// trace(arrayShit);
@ -140,21 +133,36 @@ class Alphabet extends FlxSpriteGroup
curRow += 1;
}
if (splitWords[loopNum] == " ")
#if (haxe >= "4.0.0")
static inline final charAtLoop = splitChars[loopNum];
#else
static inline var charAtLoop = splitChars[loopNum];
#end
if (charAtLoop == " ")
{
lastWasSpace = true;
}
// why isn't this used in the other ones?
#if (haxe >= "4.0.0")
var isNumber:Bool = AlphaCharacter.numbers.contains(splitWords[loopNum]);
var isSymbol:Bool = AlphaCharacter.symbols.contains(splitWords[loopNum]);
var isNumber:Bool = AlphaCharacter.numbers.contains(charAtLoop);
var isSymbol:Bool = AlphaCharacter.symbols.contains(charAtLoop);
#else
var isNumber:Bool = AlphaCharacter.numbers.indexOf(splitWords[loopNum]) != -1;
var isSymbol:Bool = AlphaCharacter.symbols.indexOf(splitWords[loopNum]) != -1;
var isNumber:Bool = AlphaCharacter.numbers.indexOf(charAtLoop) != -1;
var isSymbol:Bool = AlphaCharacter.symbols.indexOf(charAtLoop) != -1;
#end
if (AlphaCharacter.alphabet.indexOf(splitWords[loopNum].toLowerCase()) != -1 || isNumber || isSymbol)
// if (AlphaCharacter.alphabet.contains(splitWords[loopNum].toLowerCase()) || isNumber || isSymbol)
// we should refactor this to make it more concise
// maybe something like this
/*
function charInAlpha(char:String):Bool {
return AlphaCharacter.alphabet.contains(char);
};
*/
if (AlphaCharacter.alphabet.indexOf(charAtLoop.toLowerCase()) != -1 || isNumber || isSymbol)
// if (AlphaCharacter.alphabet.contains(charAtLoop.toLowerCase()) || isNumber || isSymbol)
{
if (lastSprite != null && !xPosResetted)
@ -181,21 +189,21 @@ class Alphabet extends FlxSpriteGroup
letter.row = curRow;
if (isBold)
{
letter.createBold(splitWords[loopNum]);
letter.createBold(charAtLoop);
}
else
{
if (isNumber)
{
letter.createNumber(splitWords[loopNum]);
letter.createNumber(charAtLoop);
}
else if (isSymbol)
{
letter.createSymbol(splitWords[loopNum]);
letter.createSymbol(charAtLoop);
}
else
{
letter.createLetter(splitWords[loopNum]);
letter.createLetter(charAtLoop);
}
letter.x += 90;
@ -215,7 +223,7 @@ class Alphabet extends FlxSpriteGroup
loopNum += 1;
tmr.time = FlxG.random.float(0.04, 0.09);
}, splitWords.length);
}, splitChars.length);
}
override function update(elapsed:Float)