aboutsummaryrefslogtreecommitdiff
path: root/source/shared/UserNamePopup.hx
blob: 81e71298b59775fa1cd4392e9675b3837f52d4ea (plain)
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);
	}
}