diff --git a/unity/Assets/Game.cs b/unity/Assets/Game.cs index 22addfb..494f33f 100644 --- a/unity/Assets/Game.cs +++ b/unity/Assets/Game.cs @@ -25,7 +25,7 @@ public class Game : MonoBehaviour for (int i = 0; i < NUM_CLOUDS; ++i) { GameObject cloud = GameObject.Instantiate(_cloudPrefab); - cloud.transform.position = new Vector3(Random.Range(START_X, START_X + 1920), cloud.transform.position.y, cloud.transform.position.z); + cloud.transform.position = new Vector3(Random.Range(START_X, START_X + 1920 + CloudWraparound.DISTANCE_OFF_LEFT_EDGE), cloud.transform.position.y, cloud.transform.position.z); } } diff --git a/unity/Assets/Prefabs/Cloud.prefab b/unity/Assets/Prefabs/Cloud.prefab index b6700dc..28a13d3 100644 --- a/unity/Assets/Prefabs/Cloud.prefab +++ b/unity/Assets/Prefabs/Cloud.prefab @@ -151,7 +151,7 @@ GameObject: - component: {fileID: 545282094367413959} - component: {fileID: 6161226756571430359} m_Layer: 0 - m_Name: hitbox + m_Name: rain m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -325,6 +325,7 @@ MonoBehaviour: _sprites: - {fileID: 21300000, guid: d76eaebf0ab92f444837a89b760938ba, type: 3} - {fileID: 21300000, guid: dc9b42400a2750749a98117d1b81e1f1, type: 3} + _rain: {fileID: 4636940789921123840} --- !u!61 &8093627333698608788 BoxCollider2D: m_ObjectHideFlags: 0 diff --git a/unity/Assets/Scripts/Cloud.cs b/unity/Assets/Scripts/Cloud.cs index f4f4239..7f147c8 100644 --- a/unity/Assets/Scripts/Cloud.cs +++ b/unity/Assets/Scripts/Cloud.cs @@ -10,6 +10,8 @@ public class Cloud : MonoBehaviour float _lightningTimeout = 0f; float _timeToRandomStrike; const bool DO_RANDOM_STRIKES = true; + float _timeToFlip = 0f; + [SerializeField] GameObject _rain; // Start is called before the first frame update void Start() @@ -28,6 +30,13 @@ public class Cloud : MonoBehaviour _lightningTimeout -= Time.deltaTime; _timeToHideLightning -= Time.deltaTime; _timeToRandomStrike -= Time.deltaTime; + _timeToFlip -= Time.deltaTime; + + if (_timeToFlip < 0f) + { + _rain.transform.localScale = new Vector3(_rain.transform.localScale.x * -1, _rain.transform.localScale.y, _rain.transform.localScale.z); + _timeToFlip = 0.2f; + } if (_timeToHideLightning < 0f) { @@ -55,7 +64,7 @@ public class Cloud : MonoBehaviour public void ReInit() { float scale = Random.Range(1.5f, 2.5f); - float x = Random.Range(-100f, 100f); + float x = Random.Range(-200f, 200f); float y = Random.Range(95f, 975f); transform.localScale = new Vector3(scale, scale, 2f); transform.position = new Vector3(transform.position.x + x, y, transform.position.z); diff --git a/unity/Assets/Scripts/CloudWraparound.cs b/unity/Assets/Scripts/CloudWraparound.cs index d05290a..2e44e9f 100644 --- a/unity/Assets/Scripts/CloudWraparound.cs +++ b/unity/Assets/Scripts/CloudWraparound.cs @@ -11,6 +11,7 @@ public class CloudWraparound : MonoBehaviour } public const int SCREEN_HEIGHT = 1080; public const int SCREEN_WIDTH = 1920; + public const float DISTANCE_OFF_LEFT_EDGE = 500f; // Update is called once per frame void Update() @@ -25,10 +26,10 @@ public class CloudWraparound : MonoBehaviour { this.transform.position = new Vector3(transform.position.x, transform.position.y - SCREEN_HEIGHT, transform.position.z); } - float DISTANCE_OFF_LEFT_EDGE = -500f; - if (this.transform.position.x < DISTANCE_OFF_LEFT_EDGE) + + if (this.transform.position.x < DISTANCE_OFF_LEFT_EDGE * -1f) { - this.transform.position = new Vector3(this.transform.position.x + SCREEN_WIDTH + (DISTANCE_OFF_LEFT_EDGE*-1) + 250f, transform.position.y, transform.position.z); + this.transform.position = new Vector3(this.transform.position.x + SCREEN_WIDTH + (DISTANCE_OFF_LEFT_EDGE) + 250f, transform.position.y, transform.position.z); GetComponent().ReInit(); }