#pragma once

#include "cocos2d.h"

#include "Game/GameScene/World/World.hpp"

namespace Game
{
    class CScene : public cocos2d::Scene
    {
        
    public:
        
        static cocos2d::Scene* createScene(int startingLevel, int startCharacter);
        
        virtual bool init();                

		static int m_LevelCount;
		static int m_StartingLevel;
		static int m_StartingCharacter;
		static int m_CharacterCount;
		static int m_SceneDisposed;

		void update(const float deltaTime);
        
        // implement the "static create()" method manually
        CREATE_FUNC(CScene);
        
    private:
        
        void onKeyPressed(cocos2d::EventKeyboard::KeyCode keyCode, cocos2d::Event* event);
        void onKeyReleased(cocos2d::EventKeyboard::KeyCode keyCode, cocos2d::Event* event);
        bool TouchBegan(cocos2d::Touch* touch, cocos2d::Event* event);
        
        void createVisualElements();
        
    private:
		bool m_IsVideoIsPlaying;
		float m_VideoStartTime;
        CWorld* m_pcWorld;
        
    };
}
