feat: renamed test object to player controller
This commit is contained in:
parent
a8024e5bfd
commit
f00440ff8c
|
@ -1,5 +1,5 @@
|
||||||
#include "raylib.h"
|
#include "raylib.h"
|
||||||
#include "test_object.h"
|
#include "player_controller.h"
|
||||||
#include "camera_controller.h"
|
#include "camera_controller.h"
|
||||||
#include "core/input.h"
|
#include "core/input.h"
|
||||||
#include "core/camera_node.h"
|
#include "core/camera_node.h"
|
||||||
|
|
|
@ -1,43 +1,43 @@
|
||||||
#include "test_object.h"
|
#include "player_controller.h"
|
||||||
#include "core/render.h"
|
#include "core/render.h"
|
||||||
#include "utils/debug.h"
|
#include "utils/debug.h"
|
||||||
#include "core/input.h"
|
#include "core/input.h"
|
||||||
#include "raylib.h"
|
#include "raylib.h"
|
||||||
|
|
||||||
START_REFLECT(TestObject);
|
START_REFLECT(PlayerController);
|
||||||
REFLECT_TYPECLASS(TestObject, Drop);
|
REFLECT_TYPECLASS(PlayerController, Drop);
|
||||||
REFLECT_TYPECLASS(TestObject, SceneNodeEntity);
|
REFLECT_TYPECLASS(PlayerController, SceneNodeEntity);
|
||||||
REFLECT_TYPECLASS(TestObject, Renderable);
|
REFLECT_TYPECLASS(PlayerController, Renderable);
|
||||||
END_REFLECT(TestObject);
|
END_REFLECT(PlayerController);
|
||||||
|
|
||||||
impl_Drop_for(TestObject,
|
impl_Drop_for(PlayerController,
|
||||||
DestroyTestObject
|
DestroyTestObject
|
||||||
)
|
)
|
||||||
|
|
||||||
impl_Renderable_for(TestObject,
|
impl_Renderable_for(PlayerController,
|
||||||
TestObjectDraw
|
TestObjectDraw
|
||||||
)
|
)
|
||||||
|
|
||||||
impl_SceneNodeEntity_for(TestObject,
|
impl_SceneNodeEntity_for(PlayerController,
|
||||||
TestObjectEnterTree,
|
TestObjectEnterTree,
|
||||||
TestObjectExitTree,
|
TestObjectExitTree,
|
||||||
TestObjectTick
|
TestObjectTick
|
||||||
)
|
)
|
||||||
|
|
||||||
SceneNode *CreateTestObject() {
|
SceneNode *CreateTestObject() {
|
||||||
TestObject *self = new(TestObject);
|
PlayerController *self = new(PlayerController);
|
||||||
self->rotation = self->fly_input = Vector2Zero();
|
self->rotation = self->fly_input = Vector2Zero();
|
||||||
self->stopped = false;
|
self->stopped = false;
|
||||||
return CreateSceneNode(TestObject_as_SceneNodeEntity(self));
|
return CreateSceneNode(PlayerController_as_SceneNodeEntity(self));
|
||||||
}
|
}
|
||||||
|
|
||||||
void DestroyTestObject(TestObject *self) {
|
void DestroyTestObject(PlayerController *self) {
|
||||||
free(self);
|
free(self);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestObjectEnterTree(TestObject *self) {
|
void TestObjectEnterTree(PlayerController *self) {
|
||||||
self->transform = TC_CAST(self->node->parent->entity, Transformable);
|
self->transform = TC_CAST(self->node->parent->entity, Transformable);
|
||||||
AddRenderable(TestObject_as_Renderable(self));
|
AddRenderable(PlayerController_as_Renderable(self));
|
||||||
AddListener("pitch_up", ButtonInputListener(self, TestObjectUpInput));
|
AddListener("pitch_up", ButtonInputListener(self, TestObjectUpInput));
|
||||||
AddListener("pitch_down", ButtonInputListener(self, TestObjectDownInput));
|
AddListener("pitch_down", ButtonInputListener(self, TestObjectDownInput));
|
||||||
AddListener("roll_left", ButtonInputListener(self, TestObjectLeftInput));
|
AddListener("roll_left", ButtonInputListener(self, TestObjectLeftInput));
|
||||||
|
@ -45,14 +45,14 @@ void TestObjectEnterTree(TestObject *self) {
|
||||||
AddListener("stop", ButtonInputListener(self, TestObjectStopInput));
|
AddListener("stop", ButtonInputListener(self, TestObjectStopInput));
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestObjectExitTree(TestObject *self) {
|
void TestObjectExitTree(PlayerController *self) {
|
||||||
RemoveRenderable(TestObject_as_Renderable(self));
|
RemoveRenderable(PlayerController_as_Renderable(self));
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestObjectDraw(TestObject *self) {
|
void TestObjectDraw(PlayerController *self) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestObjectTick(TestObject *self, double delta) {
|
void TestObjectTick(PlayerController *self, double delta) {
|
||||||
if(self->stopped) return;
|
if(self->stopped) return;
|
||||||
Vector2 diff = Vector2Subtract(self->fly_input, self->rotation);
|
Vector2 diff = Vector2Subtract(self->fly_input, self->rotation);
|
||||||
float const length = Vector2Length(diff);
|
float const length = Vector2Length(diff);
|
||||||
|
@ -67,22 +67,22 @@ void TestObjectTick(TestObject *self, double delta) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void TestObjectLeftInput(TestObject *self, bool value) {
|
void TestObjectLeftInput(PlayerController *self, bool value) {
|
||||||
self->fly_input.x += value ? -1 : +1;
|
self->fly_input.x += value ? -1 : +1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestObjectRightInput(TestObject *self, bool value) {
|
void TestObjectRightInput(PlayerController *self, bool value) {
|
||||||
self->fly_input.x += value ? +1 : -1;
|
self->fly_input.x += value ? +1 : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestObjectUpInput(TestObject *self, bool value) {
|
void TestObjectUpInput(PlayerController *self, bool value) {
|
||||||
self->fly_input.y += value ? -1 : +1;
|
self->fly_input.y += value ? -1 : +1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestObjectDownInput(TestObject *self, bool value) {
|
void TestObjectDownInput(PlayerController *self, bool value) {
|
||||||
self->fly_input.y += value ? +1 : -1;
|
self->fly_input.y += value ? +1 : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestObjectStopInput(TestObject *self, bool value) {
|
void TestObjectStopInput(PlayerController *self, bool value) {
|
||||||
self->stopped = value;
|
self->stopped = value;
|
||||||
}
|
}
|
39
src/player_controller.h
Normal file
39
src/player_controller.h
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
#ifndef TEST_OBJECT_H
|
||||||
|
#define TEST_OBJECT_H
|
||||||
|
|
||||||
|
#include "core/scene.h"
|
||||||
|
#include "core/scene_node_entity.h"
|
||||||
|
#include "core/transformable.h"
|
||||||
|
#include "core/renderable.h"
|
||||||
|
#include "utils/drop.h"
|
||||||
|
#include "utils/mirror.h"
|
||||||
|
|
||||||
|
// Test object created to generally test game features
|
||||||
|
typedef struct PlayerController {
|
||||||
|
SceneNode *node;
|
||||||
|
Transformable transform;
|
||||||
|
Vector2 fly_input;
|
||||||
|
Vector2 rotation;
|
||||||
|
bool stopped;
|
||||||
|
} PlayerController;
|
||||||
|
|
||||||
|
SceneNode *CreateTestObject();
|
||||||
|
void DestroyTestObject(PlayerController *self);
|
||||||
|
|
||||||
|
extern void TestObjectEnterTree(PlayerController *self);
|
||||||
|
extern void TestObjectExitTree(PlayerController *self);
|
||||||
|
extern void TestObjectDraw(PlayerController *self);
|
||||||
|
extern void TestObjectTick(PlayerController *self, double delta);
|
||||||
|
|
||||||
|
extern void TestObjectLeftInput(PlayerController *self, bool value);
|
||||||
|
extern void TestObjectRightInput(PlayerController *self, bool value);
|
||||||
|
extern void TestObjectUpInput(PlayerController *self, bool value);
|
||||||
|
extern void TestObjectDownInput(PlayerController *self, bool value);
|
||||||
|
extern void TestObjectStopInput(PlayerController *self, bool value);
|
||||||
|
|
||||||
|
DECL_REFLECT(PlayerController);
|
||||||
|
decl_typeclass_impl(SceneNodeEntity, PlayerController);
|
||||||
|
decl_typeclass_impl(Drop, PlayerController);
|
||||||
|
decl_typeclass_impl(Renderable, PlayerController);
|
||||||
|
|
||||||
|
#endif // !TEST_OBJECT_H
|
|
@ -1,39 +0,0 @@
|
||||||
#ifndef TEST_OBJECT_H
|
|
||||||
#define TEST_OBJECT_H
|
|
||||||
|
|
||||||
#include "core/scene.h"
|
|
||||||
#include "core/scene_node_entity.h"
|
|
||||||
#include "core/transformable.h"
|
|
||||||
#include "core/renderable.h"
|
|
||||||
#include "utils/drop.h"
|
|
||||||
#include "utils/mirror.h"
|
|
||||||
|
|
||||||
// Test object created to generally test game features
|
|
||||||
typedef struct TestObject {
|
|
||||||
SceneNode *node;
|
|
||||||
Transformable transform;
|
|
||||||
Vector2 fly_input;
|
|
||||||
Vector2 rotation;
|
|
||||||
bool stopped;
|
|
||||||
} TestObject;
|
|
||||||
|
|
||||||
SceneNode *CreateTestObject();
|
|
||||||
void DestroyTestObject(TestObject *self);
|
|
||||||
|
|
||||||
extern void TestObjectEnterTree(TestObject *self);
|
|
||||||
extern void TestObjectExitTree(TestObject *self);
|
|
||||||
extern void TestObjectDraw(TestObject *self);
|
|
||||||
extern void TestObjectTick(TestObject *self, double delta);
|
|
||||||
|
|
||||||
extern void TestObjectLeftInput(TestObject *self, bool value);
|
|
||||||
extern void TestObjectRightInput(TestObject *self, bool value);
|
|
||||||
extern void TestObjectUpInput(TestObject *self, bool value);
|
|
||||||
extern void TestObjectDownInput(TestObject *self, bool value);
|
|
||||||
extern void TestObjectStopInput(TestObject *self, bool value);
|
|
||||||
|
|
||||||
DECL_REFLECT(TestObject);
|
|
||||||
decl_typeclass_impl(SceneNodeEntity, TestObject);
|
|
||||||
decl_typeclass_impl(Drop, TestObject);
|
|
||||||
decl_typeclass_impl(Renderable, TestObject);
|
|
||||||
|
|
||||||
#endif // !TEST_OBJECT_H
|
|
Loading…
Reference in a new issue