108 lines
5.1 KiB
C++
108 lines
5.1 KiB
C++
#include "HydraGame.h"
|
|
|
|
bool HydraGame::Initialise()
|
|
{
|
|
// m_angle = 0.01f;
|
|
|
|
m_sun_light_id = GetEngine()->ActorManager()->CreateActor<HydraDirectionalLightActor>();
|
|
GetEngine()->ActorManager()->InitialiseActor(m_sun_light_id);
|
|
GetEngine()->ActorManager()->SetOrientation(m_sun_light_id, -0.5f, -0.2f, 0.0f);
|
|
|
|
// m_spot_light_id = GetEngine()->ActorManager()->CreateActor<HydraSpotLightActor>();
|
|
// GetEngine()->ActorManager()->InitialiseActor(m_spot_light_id);
|
|
// GetEngine()->ActorManager()->SetOrientation(m_spot_light_id, -0.5f, -0.2f, 0.0f);
|
|
// GetEngine()->ActorManager()->SetPosition(m_spot_light_id, glm::dvec3(0.0f, 4.0f, 5.0f));
|
|
|
|
// m_point_light_id = GetEngine()->ActorManager()->CreateActor<HydraPointLightActor>();
|
|
// GetEngine()->ActorManager()->InitialiseActor(m_point_light_id);
|
|
// GetEngine()->ActorManager()->SetPosition(m_point_light_id, glm::dvec3(2.0f, 3.0f, 2.0f));
|
|
|
|
// //1.570796327f
|
|
// //3.141592654f
|
|
|
|
// m_planet_actor_id = GetEngine()->ActorManager()->CreateActor<HydraPlanetActor>();
|
|
// GetEngine()->ActorManager()->InitialiseActor(m_planet_actor_id);
|
|
// GetEngine()->ActorManager()->SetPosition(m_planet_actor_id, glm::dvec3(0, 0.0, 0));
|
|
|
|
m_cube_actor_id = GetEngine()->ActorManager()->CreateActor<HydraTestCubeActor>();
|
|
GetEngine()->ActorManager()->InitialiseActor(m_cube_actor_id);
|
|
GetEngine()->ActorManager()->SetPosition(m_cube_actor_id, glm::dvec3(0, 1.0, 0));
|
|
|
|
m_plane_actor_id = GetEngine()->ActorManager()->CreateActor<HydraPlaneActor>();
|
|
GetEngine()->ActorManager()->InitialiseActor(m_plane_actor_id);
|
|
GetEngine()->ActorManager()->SetPosition(m_plane_actor_id, glm::dvec3(0, 0, 0));
|
|
|
|
// m_plane_actor_id1 = GetEngine()->ActorManager()->CreateActor<HydraPlaneActor>();
|
|
// GetEngine()->ActorManager()->InitialiseActor(m_plane_actor_id1);
|
|
// GetEngine()->ActorManager()->SetPosition(m_plane_actor_id1, glm::dvec3(0, 10, 0));
|
|
|
|
// m_cube_actor_id = GetEngine()->ActorManager()->CreateActor<HydraPlaneActor>();
|
|
// GetEngine()->ActorManager()->InitialiseActor(m_cube_actor_id);
|
|
// GetEngine()->ActorManager()->SetPosition(m_cube_actor_id, glm::dvec3(0, -2, 0));
|
|
// GetEngine()->ActorManager()->SetRelationship(m_plane_actor_id, m_cube_actor_id);
|
|
|
|
// m_gltf_id = GetEngine()->ActorManager()->LoadActor("c:/Code/HydraV3/Media/AntiqueCamera.glb");
|
|
// GetEngine()->ActorManager()->InitialiseActor(m_gltf_id);
|
|
// GetEngine()->ActorManager()->SetPosition(m_gltf_id, glm::dvec3(0, 0, 0));
|
|
|
|
// m_gltf_id1 = GetEngine()->ActorManager()->LoadActor("c:/Code/HydraV3/Media/Tree1.glb");
|
|
// GetEngine()->ActorManager()->InitialiseActor(m_gltf_id);
|
|
// GetEngine()->ActorManager()->SetPosition(m_gltf_id, glm::dvec3(0, 0, 500));
|
|
|
|
m_player_actor_id = GetEngine()->ActorManager()->CreateActor<HydraPlayerActor>();
|
|
GetEngine()->ActorManager()->InitialiseActor(m_player_actor_id);
|
|
GetEngine()->ActorManager()->SetPosition(m_player_actor_id, glm::dvec3(0, 2, 4));
|
|
|
|
GetEngine()->PossessPlayer(m_player_actor_id);
|
|
GetEngine()->Camera()->AttachToActor(m_player_actor_id);
|
|
|
|
// GetEngine()->ActorManager()->SetRelationship(m_player_actor_id, m_other_light_id);
|
|
|
|
return false;
|
|
}
|
|
|
|
void HydraGame::Update(float delta_t_seconds)
|
|
{
|
|
if (GetEngine()->KeyPressed(HYDRA_KEY_CODES::HYDRA_KEY_ESCAPE))
|
|
{
|
|
GetEngine()->Exit();
|
|
}
|
|
|
|
if (GetEngine()->KeyPressed(HYDRA_KEY_CODES::HYDRA_KEY_0))
|
|
{
|
|
GetEngine()->ActorManager()->DeleteActor(m_sun_light_id);
|
|
}
|
|
if (GetEngine()->KeyPressed(HYDRA_KEY_CODES::HYDRA_KEY_9))
|
|
{
|
|
if (m_spot_light_id == INVALID_HYDRA_ID)
|
|
{
|
|
m_point_light_id = GetEngine()->ActorManager()->CreateActor<HydraPointLightActor>();
|
|
GetEngine()->ActorManager()->InitialiseActor(m_point_light_id);
|
|
GetEngine()->ActorManager()->SetPosition(m_point_light_id, glm::dvec3(2.0f, 3.0f, 2.0f));
|
|
|
|
m_spot_light_id = GetEngine()->ActorManager()->CreateActor<HydraSpotLightActor>();
|
|
GetEngine()->ActorManager()->InitialiseActor(m_spot_light_id);
|
|
GetEngine()->ActorManager()->SetOrientation(m_spot_light_id, -0.5f, -0.2f, 0.0f);
|
|
GetEngine()->ActorManager()->SetPosition(m_spot_light_id, glm::dvec3(0.0f, 4.0f, 5.0f));
|
|
}
|
|
}
|
|
if (GetEngine()->KeyPressed(HYDRA_KEY_CODES::HYDRA_KEY_8))
|
|
{
|
|
if (m_point_light_id == INVALID_HYDRA_ID)
|
|
{
|
|
m_point_light_id = GetEngine()->ActorManager()->CreateActor<HydraPointLightActor>();
|
|
GetEngine()->ActorManager()->InitialiseActor(m_point_light_id);
|
|
GetEngine()->ActorManager()->SetPosition(m_point_light_id, glm::dvec3(2.0f, 3.0f, 2.0f));
|
|
}
|
|
}
|
|
// GetEngine()->ActorManager()->SetOrientation(m_sun_light_id, m_angle, 0.4, 0.0f);
|
|
// if(m_angle > (M_PI) - 0.01)
|
|
// {
|
|
// m_angle = 0.01;
|
|
// }
|
|
|
|
m_angle += m_diff;
|
|
// GetEngine()->ActorManager()->SetOrientation(m_other_light_id, -0.5f, m_angle, 0);
|
|
// GetEngine()->ActorManager()->SetOrientation(m_gltf_id, 0, m_angle, 0);
|
|
// GetEngine()->ActorManager()->SetOrientation(m_plane_actor_id, 0, m_angle, 0);
|
|
} |