1
0
mirror of https://github.com/Melon-Bread/Pet.GB synced 2024-11-28 13:58:20 -05:00
Pet.GB/source/PlayState.hx
Rain Clark ee1fca4709 Added more features 🏄
- Able to see the Current in-game hour
- Able to set day length when making new clock
2016-10-08 01:09:11 -04:00

114 lines
1.9 KiB
Haxe

package;
import flixel.FlxG;
import flixel.FlxSprite;
import flixel.FlxState;
import flixel.system.debug.FlxDebugger;
import flixel.util.FlxSave;
class PlayState extends FlxState
{
private var _sprBackground:FlxSprite;
private var _gelPet:Gel;
private var _clock:Clock;
private var _hud:HUD;
private var _infoMenu:InfoMenu;
override public function create():Void
{
// SAVE BEGIN
var _save:FlxSave = new FlxSave();
_save.bind("Pet.GB");
_sprBackground = new FlxSprite(0, 0, AssetPaths.background__png);
add(_sprBackground);
_clock = new Clock();
if (_save.data.GelPet == null)
{
_gelPet = new Gel(0, 0, _clock);
_gelPet.x = ((FlxG.width/2) - (_gelPet.width/2));
_gelPet.y = ((FlxG.height/2) - (_gelPet.height/2));
}
else
{
_gelPet = _save.data.gel;
_gelPet._clock = _save.data.clock;
}
add(_gelPet);
// Interface
_infoMenu = new InfoMenu(_gelPet);
if (_save.data.HUD == null)
_hud = new HUD(_gelPet, _clock, _infoMenu);
else
_hud = _save.data.hud;
add(_hud);
add(_infoMenu);
super.create();
// DEBUG
FlxG.debugger.setLayout(FlxDebuggerLayout.RIGHT);
// SAVE END
_save.close();
}
override public function update(elapsed:Float):Void
{
super.update(elapsed);
if (_infoMenu.visible)
{
_gelPet.active = false;
_gelPet._clock.pause(true);
_hud.active = false;
}
else
{
_gelPet.active = true;
_gelPet._clock.pause(false);
_hud.active = true;
saveGame();
}
}
private function saveGame()
{
// SAVE BEGIN
var _save:FlxSave = new FlxSave();
_save.bind("Pet.GB");
// SAVED DATA
_save.data.gel = _gelPet;
_save.data.clock = _gelPet._clock;
_save.data.hud = _hud;
//_save.data.age = _gel.age;
// WRITE SAVE
//_save.flush();
// SAVE END
_save.close;
}
private function quitGame():Void
{
// SAVE BEGIN
var _save:FlxSave = new FlxSave();
_save.bind("Pet.GB");
// SAVED DATA
_save.data.HUD = _hud;
// SAVE END
_save.close;
}
}