From 4b028d0997588cad7340e60dbdf62e3afd8eb3e0 Mon Sep 17 00:00:00 2001
From: EndrII <EndrIIMail@gmail.com>
Date: Sun, 18 Jul 2021 19:35:57 +0300
Subject: [PATCH] fix enviroment

---
 src/Core/Crawl/day.h               | 12 ++++++++----
 src/Core/Crawl/iworlditem.cpp      |  8 ++++----
 src/Core/CrawlModule/DayLight.qml  |  9 +++++++--
 src/CrawlTestLvl/private/world.cpp |  4 ++--
 src/JungleLvl/private/world.cpp    |  4 ++--
 5 files changed, 23 insertions(+), 14 deletions(-)

diff --git a/src/Core/Crawl/day.h b/src/Core/Crawl/day.h
index 25f2d12..6ac569b 100644
--- a/src/Core/Crawl/day.h
+++ b/src/Core/Crawl/day.h
@@ -56,7 +56,7 @@ public:
             item->setRadius(radius());
             item->setAxis(_axis);
             item->setAngularVelocity(lengthToSpeed(_dayLengthSec));
-            item->setLightForce(_radius * 30);
+            item->setLightForce(lengthForce());
 
             Claster::add(item);
         } else {
@@ -90,7 +90,7 @@ public:
         _radius = newRadius;
 
         for (auto object: objects()) {
-            reinterpret_cast<DayItem*>(object)->setLightForce(_radius * 30);
+            reinterpret_cast<DayItem*>(object)->setLightForce(lengthForce());
             reinterpret_cast<DayItem*>(object)->setRadius(_radius);
 
         }
@@ -154,8 +154,12 @@ private:
         return (2 * M_PI * radius()) / length;
     }
 
-    int _radius = 2000;
-    float _dayLengthSec = 160;
+    float lengthForce() const {
+        return _radius * 15;
+    }
+
+    int _radius = 1000;
+    float _dayLengthSec = 360;
     QVector3D _axis = {1,0,0};
 };
 
diff --git a/src/Core/Crawl/iworlditem.cpp b/src/Core/Crawl/iworlditem.cpp
index e6a06f3..da37964 100644
--- a/src/Core/Crawl/iworlditem.cpp
+++ b/src/Core/Crawl/iworlditem.cpp
@@ -35,15 +35,15 @@ const IWorldItem *IWorldItem::getPlayer() const {
 
 void IWorldItem::render(unsigned int) {
     if (_playerObject->position().distanceToPoint(position()) >
-            _world->cameraReleativePosition().z() * 2) {
+            _world->cameraReleativePosition().z() * 3) {
 
-        float dX = _world->cameraReleativePosition().z() +
+        float dX = _world->cameraReleativePosition().z() * 2 +
                 (rand() % static_cast<int>(_world->cameraReleativePosition().z()));
 
         setX(_playerObject->position().x() + dX);
 
-        float dY = (rand() % static_cast<int>(_world->cameraReleativePosition().z() * 2)
-                                             - _world->cameraReleativePosition().z());
+        float dY = (rand() % static_cast<int>(_world->cameraReleativePosition().z() * 3)
+                                             - _world->cameraReleativePosition().z() * 1.5);
 
         setY(_playerObject->position().y() + dY);
     }
diff --git a/src/Core/CrawlModule/DayLight.qml b/src/Core/CrawlModule/DayLight.qml
index 5850cea..bb68810 100644
--- a/src/Core/CrawlModule/DayLight.qml
+++ b/src/Core/CrawlModule/DayLight.qml
@@ -17,7 +17,7 @@ Node {
     PointLight {
         id : sun
 
-        brightness: (model)? model.lightForce: 100
+        brightness: (model)? model.lightForce * model.visible: 100
         color: (model)? model.color: "#ffffff"
         castsShadow: (model)? model.castsShadow: 0
         shadowFactor: (model)? model.shadowFactor: 0
@@ -26,12 +26,17 @@ Node {
         shadowBias: (model)? model.shadowBias: 0
         shadowMapQuality: Light.ShadowMapQualityHigh
 
+        Behavior on brightness {
+            NumberAnimation {
+                duration: 5000
 
+            }
+        }
     }
 
     rotation: (model)? model.ratation: Qt.quaternion(0, 0, 0, 0)
     scale: (model)? model.size: Qt.vector3d(0, 0, 0);
     position: (model) ? model.position: Qt.vector3d(0,0,0);
-    visible: (model)? model.visible: false
+    visible: sun.brightness
 
 }
diff --git a/src/CrawlTestLvl/private/world.cpp b/src/CrawlTestLvl/private/world.cpp
index fdfa899..5ff8f03 100644
--- a/src/CrawlTestLvl/private/world.cpp
+++ b/src/CrawlTestLvl/private/world.cpp
@@ -21,8 +21,8 @@ namespace TestLvl {
 
 
 World::World() {
-    setCameraReleativePosition({0,0,100});
-    setCameraRatation(QQuaternion::fromEulerAngles({0,0,-90}));
+    setCameraReleativePosition({50,0,100});
+    setCameraRatation(QQuaternion::fromEulerAngles({0,0,0}));
 }
 
 CRAWL::WorldRule *World::initWorldRules() {
diff --git a/src/JungleLvl/private/world.cpp b/src/JungleLvl/private/world.cpp
index e12cebb..8a462ba 100644
--- a/src/JungleLvl/private/world.cpp
+++ b/src/JungleLvl/private/world.cpp
@@ -29,8 +29,8 @@
 namespace JungleLvl {
 
 World::World() {
-    setCameraReleativePosition({0,0,100});
-    setCameraRatation(QQuaternion::fromEulerAngles({0,0,-90}));
+    setCameraReleativePosition({50,0,100});
+    setCameraRatation(QQuaternion::fromEulerAngles({0,0,0}));
 }
 
 CRAWL::WorldRule *World::initWorldRules() {