#include "HydraGame.h" bool HydraGame::Initialise() { // m_angle = 0.01f; m_sun_light_id = GetEngine()->ActorManager()->CreateActor(); GetEngine()->ActorManager()->InitialiseActor(m_sun_light_id); GetEngine()->ActorManager()->SetOrientation(m_sun_light_id, 0.0f, 0.0f, 0.0f); // m_spawner_id = GetEngine()->ActorManager()->CreateActor(); // GetEngine()->ActorManager()->InitialiseActor(m_spawner_id); // GetEngine()->ActorManager()->SetPosition(m_spawner_id, glm::dvec3(0, 1.0, 0)); // HydraLightSpawnerActor* actor = static_cast(GetEngine()->ActorManager()->GetActor(m_spawner_id)); // actor->SpawnSettings(3.0f, glm::vec3(0.0f, 1.0f, 0.0f), glm::vec3(0.0f, 0.0f, 0.0f), 15.0f, 0.0f, 50.0f); // actor->SetEnabled(true); // m_spot_light_id = GetEngine()->ActorManager()->CreateActor(); // 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(); // 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(); GetEngine()->ActorManager()->InitialiseActor(m_planet_actor_id); GetEngine()->ActorManager()->SetPosition(m_planet_actor_id, glm::dvec3(0, 10.0, 0)); // m_cube_actor_id = GetEngine()->ActorManager()->CreateActor(); // GetEngine()->ActorManager()->InitialiseActor(m_cube_actor_id); // GetEngine()->ActorManager()->SetPosition(m_cube_actor_id, glm::dvec3(0, 1.0, 0)); // GetEngine()->ActorManager()->SetLinearVelocity(m_cube_actor_id, glm::vec3(0,20,0)); // m_plane_actor_id = GetEngine()->ActorManager()->CreateActor(); // GetEngine()->ActorManager()->InitialiseActor(m_plane_actor_id); // GetEngine()->ActorManager()->SetPosition(m_plane_actor_id, glm::dvec3(0, 0, 0)); // GetEngine()->ActorManager()->SetOrientation(m_plane_actor_id, 0.0f, 0.0f, 0.0f); m_plane_actor_id1 = GetEngine()->ActorManager()->CreateActor(); GetEngine()->ActorManager()->InitialiseActor(m_plane_actor_id1); GetEngine()->ActorManager()->SetPosition(m_plane_actor_id1, glm::dvec3(0, 0, 0)); // m_cube_actor_id = GetEngine()->ActorManager()->CreateActor(); // 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(); GetEngine()->ActorManager()->InitialiseActor(m_player_actor_id); GetEngine()->ActorManager()->SetPosition(m_player_actor_id, glm::dvec3(0, 10, 51000)); 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) { // 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_sun_light_id, 0, m_angle, 0); // GetEngine()->ActorManager()->SetOrientation(m_gltf_id, 0, m_angle, 0); // GetEngine()->ActorManager()->SetOrientation(m_plane_actor_id, 0, m_angle, 0); } void HydraGame::FixedUpdate(float delta_t_seconds) { if (GetEngine()->KeyDown(HYDRA_KEY_CODES::HYDRA_KEY_ESCAPE)) { GetEngine()->Exit(); } if (GetEngine()->KeyDown(HYDRA_KEY_CODES::HYDRA_KEY_0)) { GetEngine()->ActorManager()->DeleteActor(m_sun_light_id); } if (GetEngine()->KeyDown(HYDRA_KEY_CODES::HYDRA_KEY_9)) { if (m_spot_light_id == INVALID_HYDRA_ID) { m_spot_light_id = GetEngine()->ActorManager()->CreateActor(); 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()->KeyDown(HYDRA_KEY_CODES::HYDRA_KEY_8)) { if (m_point_light_id == INVALID_HYDRA_ID) { m_point_light_id = GetEngine()->ActorManager()->CreateActor(); GetEngine()->ActorManager()->InitialiseActor(m_point_light_id); GetEngine()->ActorManager()->SetPosition(m_point_light_id, glm::dvec3(2.0f, 3.0f, 2.0f)); } else { GetEngine()->ActorManager()->DeleteActor(m_point_light_id); m_point_light_id = INVALID_HYDRA_ID; } } }