46 lines
1.2 KiB
C++
46 lines
1.2 KiB
C++
#pragma once
|
|
#include <algorithm>
|
|
#include <fstream>
|
|
#include <sstream>
|
|
#include "pocketpy.h"
|
|
#include "StateManager.h"
|
|
#include "Graphics/Graphics.h"
|
|
|
|
class Graphics;
|
|
class StateManager;
|
|
|
|
class Pycron {
|
|
public:
|
|
static std::string PythonDirectory;
|
|
|
|
private:
|
|
const int virtualScreenWidth = 360;
|
|
const int virtualScreenHeight = 203;
|
|
const int initialScale = 3;
|
|
StateManager* m_stateManager;
|
|
|
|
public:
|
|
|
|
pkpy::VM* m_vm;
|
|
Graphics* m_graphics;
|
|
|
|
|
|
Pycron();
|
|
~Pycron();
|
|
|
|
void StartGameLoop();
|
|
void bindMethods();
|
|
|
|
static std::string loadFileToString(const std::string& filename);
|
|
|
|
static pkpy::PyObject* getRandomNumber(pkpy::VM* vm, pkpy::ArgsView args);
|
|
static pkpy::PyObject* getSin(pkpy::VM* vm, pkpy::ArgsView args);
|
|
static pkpy::PyObject* getCos(pkpy::VM* vm, pkpy::ArgsView args);
|
|
static pkpy::PyObject* getFPS(pkpy::VM* vm, pkpy::ArgsView args);
|
|
static pkpy::PyObject* getKeyPressed(pkpy::VM* vm, pkpy::ArgsView args);
|
|
static pkpy::PyObject* getKeyDown(pkpy::VM* vm, pkpy::ArgsView args);
|
|
static pkpy::PyObject* getMousePressed(pkpy::VM* vm, pkpy::ArgsView args);
|
|
static pkpy::PyObject* getMouseDown(pkpy::VM* vm, pkpy::ArgsView args);
|
|
};
|
|
|