Added the example application; Added the default window icon

This commit is contained in:
grayson committed 2021-09-11 17:39:18 -05:00
1 parent 805a1cef1f
commit 30e725b2f4
13 files changed
+244 -4

No files matched your search

+58 -2
View File
@@ -2,17 +2,73 @@
void MainState::onEnter() {
Log("MainState onEnter!");
camera->setType(nf::Camera::Type::FIRST_PERSON);
ap.load("CubeTest.nfpack");
test.create(ap["spec.obj"]);
test.setPosition(0.0, 0.0, -5.0);
plane.create(nf::BaseAssets::plane);
plane.setPosition(0.0, -2.0, 0.0);
plane.setScale(10.0);
text.create("This is a test text.", nf::Vec2(0.1, 0.025), nf::Vec3(0.7));
text.centered(true);
uiTex.create(nf::BaseAssets::logo, nf::Vec2(0.025, 0.025), 0.5);
button.create(nf::Vec2(0.8, 0.025), "Reset");
light.create(nf::Vec3(0.0, 5.0, 0.0), nf::Vec3(1.0, 1.0, 1.0), 1.3);
cm.create(nf::BaseAssets::cubemap);
}
void MainState::update(double deltaTime) {
if (app->isKeyPressed(NFI_U))
camera->setType(nf::Camera::Type::UI);
if (app->isKeyPressed(NFI_P))
camera->setType(nf::Camera::Type::FIRST_PERSON);
double speed = 5.0;
if (camera->getType() == nf::Camera::Type::FIRST_PERSON) {
if (app->isKeyHeld(NFI_SHIFT))
speed = 20.0;
else
speed = 5.0;
if (app->isKeyHeld(NFI_W))
camera->moveForward(speed * deltaTime);
if (app->isKeyHeld(NFI_S))
camera->moveBackward(speed * deltaTime);
if (app->isKeyHeld(NFI_D))
camera->moveRight(speed * deltaTime);
if (app->isKeyHeld(NFI_A))
camera->moveLeft(speed * deltaTime);
}
float offset = 0.5f;
if (app->isKeyHeld(NFI_UP))
yrot += offset;
if (app->isKeyHeld(NFI_DOWN))
yrot -= offset;
if (app->isKeyHeld(NFI_LEFT))
xrot += offset;
if (app->isKeyHeld(NFI_RIGHT))
xrot -= offset;
test.setRotation(-yrot, -xrot, 0.0);
text.setText("FPS: " + std::to_string(app->getFPS()));
if (button.isClicked())
app->changeState("Main State");
if (app->isKeyPressed(NFI_ESCAPE))
app->quit();
}
void MainState::render(nf::Renderer& renderer) {
renderer.render(test);
renderer.render(plane);
renderer.render(text);
renderer.render(uiTex);
renderer.render(button);
renderer.render(light);
renderer.render(cm);
}
void MainState::onExit() {
Log("MainState onExit!");
xrot = yrot = 0.0f;
}
+10
View File
@@ -10,5 +10,15 @@ public:
void onExit() override;
private:
nf::AssetPack ap;
nf::Entity test;
nf::Entity plane;
nf::Text text;
nf::UITexture uiTex;
nf::Button button;
nf::Light light;
nf::Cubemap cm;
float xrot, yrot;
};