1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
package shared;
import flixel.FlxG;
import flixel.FlxObject;
import flixel.FlxSprite;
import flixel.addons.ui.FlxInputText;
import flixel.addons.ui.FlxUIGroup;
import flixel.graphics.FlxGraphic;
import flixel.group.FlxGroup.FlxTypedGroup;
import flixel.text.FlxText;
import flixel.ui.FlxButton;
import flixel.util.FlxColor;
import flixel.util.FlxSave;
class UserNamePopup extends FlxTypedGroup<FlxSprite>
{
var popupWidth:Int = 200;
var popupHeight:Int = 100;
var pX:Float = 0;
var pY:Float = 0;
var textFieldWidth = 150;
var textFieldHeight = 8;
var txtInput:FlxInputText;
var playerSave:FlxSave;
public function new(OnClick:PlayerSave->Void)
{
super();
this.playerSave = new FlxSave();
this.playerSave.bind("PlayerSaveObj");
this.pX = (FlxG.width / 2) - (this.popupWidth / 2);
this.pY = (FlxG.height / 2) - (popupHeight / 2);
var inputTextX = this.pX + (this.popupWidth / 2) - (this.textFieldWidth / 2);
var inputTextY = this.pY + (this.popupHeight / 2) - this.textFieldHeight;
var uiBackground:UIBackground = new UIBackground(this.pX, this.pY, this.popupWidth, this.popupHeight, FlxColor.PURPLE);
var label:FlxText = new FlxText(inputTextX, inputTextY - 20, 100, "Enter Your Name");
var enterGameBut = new FlxButton(inputTextX + textFieldWidth / 2 - 4, inputTextY + 20, "Enter Game", onEnterGame.bind(this, OnClick));
this.txtInput = new FlxInputText(inputTextX, inputTextY, this.textFieldWidth, "", this.textFieldHeight);
txtInput.backgroundColor = FlxColor.PURPLE;
txtInput.color = FlxColor.WHITE;
add(uiBackground);
add(label);
add(txtInput);
add(enterGameBut);
}
function onEnterGame(event, OnClick)
{
FlxG.camera.shake(0.05);
var guid = Utils.Guid();
PlayerSave.instance.setPlayerData(this.txtInput.text, guid);
this.playerSave.data.playerSaveObj = PlayerSave.instance;
this.playerSave.flush();
OnClick(PlayerSave.instance);
trace(OnClick);
}
}
|