189 lines
2.8 KiB
C++
189 lines
2.8 KiB
C++
|
|
#include "include/Engine.h"
|
|
|
|
namespace SE
|
|
{
|
|
|
|
TApplication* App = NULL;
|
|
|
|
boost::mutex InitLock;
|
|
|
|
bool Inited = false;
|
|
|
|
|
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_Update(JNIEnv * env, jobject obj, long dt)
|
|
{
|
|
InitLock.lock();
|
|
try
|
|
{
|
|
if (Inited)
|
|
{
|
|
App->OuterDraw();
|
|
App->OuterUpdate(dt);
|
|
}
|
|
|
|
|
|
}
|
|
catch (...)
|
|
{
|
|
throw;
|
|
}
|
|
InitLock.unlock();
|
|
|
|
}
|
|
|
|
JNIEXPORT int JNICALL Java_fishrungames_engine_FileWrapper_IsInited(JNIEnv * env, jobject obj)
|
|
{
|
|
if (Inited)
|
|
{
|
|
return 1;
|
|
}
|
|
else
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_Destroy(JNIEnv * env, jobject obj)
|
|
{
|
|
InitLock.lock();
|
|
try
|
|
{
|
|
if (Inited)
|
|
{
|
|
App->OuterDeinit();
|
|
|
|
delete App;
|
|
|
|
App = NULL;
|
|
|
|
DestroyEngine();
|
|
|
|
Inited = false;
|
|
}
|
|
|
|
}
|
|
catch (...)
|
|
{
|
|
throw;
|
|
}
|
|
InitLock.unlock();
|
|
}
|
|
|
|
void DestroyThreaded()
|
|
{
|
|
|
|
}
|
|
|
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnTapDown(JNIEnv * env, jobject obj, float x, float y, long time)
|
|
{
|
|
InitLock.lock();
|
|
try
|
|
{
|
|
if (Inited)
|
|
{
|
|
App->OuterOnTapDown(vec2(x,y));
|
|
}
|
|
}
|
|
catch (...)
|
|
{
|
|
throw;
|
|
}
|
|
InitLock.unlock();
|
|
}
|
|
|
|
|
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnTapUp(JNIEnv * env, jobject obj, float x, float y, long time)
|
|
{
|
|
InitLock.lock();
|
|
try
|
|
{
|
|
if (Inited)
|
|
{
|
|
App->OuterOnTapUp(vec2(x,y));
|
|
}
|
|
}
|
|
catch (...)
|
|
{
|
|
throw;
|
|
}
|
|
InitLock.unlock();
|
|
}
|
|
|
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnTapUpAfterMove(JNIEnv * env, jobject obj, jfloat x, jfloat y, long time)
|
|
{
|
|
InitLock.lock();
|
|
try
|
|
{
|
|
if (Inited)
|
|
{
|
|
App->OuterOnTapUpAfterMove(vec2(x,y));
|
|
}
|
|
}
|
|
catch (...)
|
|
{
|
|
throw;
|
|
}
|
|
InitLock.unlock();
|
|
}
|
|
|
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnTapMove(JNIEnv * env, jobject obj, float x, float y, long time)
|
|
{
|
|
InitLock.lock();
|
|
try
|
|
{
|
|
if (Inited)
|
|
{
|
|
App->OuterOnMove(vec2(x,y));
|
|
}
|
|
}
|
|
catch (...)
|
|
{
|
|
throw;
|
|
}
|
|
InitLock.unlock();
|
|
}
|
|
|
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnFling(JNIEnv * env, jobject obj, jfloat velocityX, jfloat velocityY, long time)
|
|
{
|
|
|
|
}
|
|
|
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnScroll(JNIEnv * env, jobject obj, jfloat distanceX, jfloat distanceY, long time)
|
|
{
|
|
InitLock.lock();
|
|
try
|
|
{
|
|
if (Inited)
|
|
{
|
|
App->OuterOnMove(vec2(distanceX,distanceY));
|
|
}
|
|
}
|
|
catch (...)
|
|
{
|
|
throw;
|
|
}
|
|
InitLock.unlock();
|
|
}
|
|
|
|
JNIEXPORT void JNICALL Java_fishrungames_engine_FileWrapper_OnKeyPress(JNIEnv * env, jobject obj, jint keyCode)
|
|
{
|
|
InitLock.lock();
|
|
try
|
|
{
|
|
if (Inited)
|
|
{
|
|
App->OnKeyPress(keyCode);
|
|
}
|
|
}
|
|
catch (...)
|
|
{
|
|
throw;
|
|
}
|
|
InitLock.unlock();
|
|
}
|
|
|
|
} // namespace SE
|