From f96b3cfabd59525da0c1a856ec17a1b4c5f04b25 Mon Sep 17 00:00:00 2001 From: flangedmace Date: Thu, 24 Dec 2020 19:03:16 +0300 Subject: [PATCH 01/16] Init unity project --- Assets/Group1/Scripts/Enemy.cs | 15 + .../Scripts/{e.cs.meta => Enemy.cs.meta} | 2 +- Assets/Group1/Scripts/Follower.cs | 35 ++ ...ameController.cs.meta => Follower.cs.meta} | 2 +- Assets/Group1/Scripts/GameController.cs | 38 -- Assets/Group1/Scripts/NewBehaviourScript1.cs | 65 --- Assets/Group1/Scripts/Player.cs | 47 +++ ...ehaviourScript1.cs.meta => Player.cs.meta} | 2 +- Assets/Group1/Scripts/SpeedBooster.cs | 14 + Assets/Group1/Scripts/SpeedBooster.cs.meta | 11 + Assets/Group1/Scripts/e.cs | 22 -- Logs/Packages-Update.log | 25 ++ Packages/manifest.json | 21 +- Packages/packages-lock.json | 374 ++++++++++++++++++ ProjectSettings/EditorSettings.asset | 20 +- ProjectSettings/PackageManagerSettings.asset | 38 ++ ProjectSettings/ProjectVersion.txt | 3 +- ProjectSettings/XRSettings.asset | 10 + 18 files changed, 606 insertions(+), 138 deletions(-) create mode 100644 Assets/Group1/Scripts/Enemy.cs rename Assets/Group1/Scripts/{e.cs.meta => Enemy.cs.meta} (83%) create mode 100644 Assets/Group1/Scripts/Follower.cs rename Assets/Group1/Scripts/{GameController.cs.meta => Follower.cs.meta} (83%) delete mode 100644 Assets/Group1/Scripts/GameController.cs delete mode 100644 Assets/Group1/Scripts/NewBehaviourScript1.cs create mode 100644 Assets/Group1/Scripts/Player.cs rename Assets/Group1/Scripts/{NewBehaviourScript1.cs.meta => Player.cs.meta} (83%) create mode 100644 Assets/Group1/Scripts/SpeedBooster.cs create mode 100644 Assets/Group1/Scripts/SpeedBooster.cs.meta delete mode 100644 Assets/Group1/Scripts/e.cs create mode 100644 Logs/Packages-Update.log create mode 100644 Packages/packages-lock.json create mode 100644 ProjectSettings/PackageManagerSettings.asset create mode 100644 ProjectSettings/XRSettings.asset diff --git a/Assets/Group1/Scripts/Enemy.cs b/Assets/Group1/Scripts/Enemy.cs new file mode 100644 index 00000000..badf3f73 --- /dev/null +++ b/Assets/Group1/Scripts/Enemy.cs @@ -0,0 +1,15 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Enemy : Follower +{ + protected override void OnTriggerEnter2D(Collider2D collision) + { + if (collision.gameObject.TryGetComponent(out Player player)) + { + player.PlusKilledEnemies(); + Destroy(gameObject); + } + } +} diff --git a/Assets/Group1/Scripts/e.cs.meta b/Assets/Group1/Scripts/Enemy.cs.meta similarity index 83% rename from Assets/Group1/Scripts/e.cs.meta rename to Assets/Group1/Scripts/Enemy.cs.meta index ab764d30..d14b1177 100644 --- a/Assets/Group1/Scripts/e.cs.meta +++ b/Assets/Group1/Scripts/Enemy.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 65f7df4705b7dae48944a39b48934484 +guid: fe1d063445778a440a3ec71d28f47744 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Group1/Scripts/Follower.cs b/Assets/Group1/Scripts/Follower.cs new file mode 100644 index 00000000..cfbce776 --- /dev/null +++ b/Assets/Group1/Scripts/Follower.cs @@ -0,0 +1,35 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +[RequireComponent(typeof(Rigidbody2D))] +[RequireComponent(typeof(CircleCollider2D))] +public abstract class Follower : MonoBehaviour +{ + [SerializeField] private Rigidbody _rigidbody; + + [SerializeField] private float _moveSpeed; + [SerializeField] private float _maxTargetDistance; + + private Vector3 _target; + + private void Start() + { + SetTargetPosition(); + } + + private void Update() + { + _rigidbody.velocity = (_target - transform.position).normalized * _moveSpeed; + + if (transform.position == _target) + SetTargetPosition(); + } + + protected virtual void OnTriggerEnter2D(Collider2D collision) { } + + private void SetTargetPosition() + { + _target = Random.insideUnitCircle * _maxTargetDistance; + } +} diff --git a/Assets/Group1/Scripts/GameController.cs.meta b/Assets/Group1/Scripts/Follower.cs.meta similarity index 83% rename from Assets/Group1/Scripts/GameController.cs.meta rename to Assets/Group1/Scripts/Follower.cs.meta index e9cd6afe..dc66f541 100644 --- a/Assets/Group1/Scripts/GameController.cs.meta +++ b/Assets/Group1/Scripts/Follower.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: cd6d0074e725a114e850d2e604fe4b0d +guid: 9699078975302064fa455013d46a644e MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Group1/Scripts/GameController.cs b/Assets/Group1/Scripts/GameController.cs deleted file mode 100644 index 6afe5356..00000000 --- a/Assets/Group1/Scripts/GameController.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class GameController : MonoBehaviour -{ - public static GameController controller; - - public GameObject go; - public GameObject a; - public GameObject[] B; - - // Start is called before the first frame update - void Start() - { - controller = this; - } - - public void End() - { - go.SetActive(true); - } - - // Update is called once per frame - void Update(){ - foreach (var b in B) - { - if (b == null) - continue; - - if (Vector3.Distance(a.gameObject.gameObject.GetComponent().position, b.gameObject.gameObject.transform.position) < 0.2f) - { - a.SendMessage("SendMEssage", b); - } - - } - } -} diff --git a/Assets/Group1/Scripts/NewBehaviourScript1.cs b/Assets/Group1/Scripts/NewBehaviourScript1.cs deleted file mode 100644 index 14bd7c3f..00000000 --- a/Assets/Group1/Scripts/NewBehaviourScript1.cs +++ /dev/null @@ -1,65 +0,0 @@ -using UnityEngine; -using System.Collections; - -public class NewBehaviourScript1 : MonoBehaviour -{ - public float spEed; - public bool timer; - public float time; - // Use this for initialization - - - void Start() - { - } - // Update is called once per frame - void Update(){ - if (timer) - { - time -= Time.deltaTime; - if(time < 0) - { - timer = false; - spEed /= 2; - } - } - - GameObject[] result = GameObject.FindGameObjectsWithTag("Enemy"); - - if(result.Length == 0) - { - GameController.controller.End(); - enabled = false; - } - - if (Input.GetKey(KeyCode.W)) - transform.Translate(0, spEed * Time.deltaTime, 0); - - if (Input.GetKey(KeyCode.S)) - transform.Translate(0, -spEed * Time.deltaTime, 0); - - if (Input.GetKey(KeyCode.A)) - transform.Translate(-spEed * Time.deltaTime, 0, 0); - - if (Input.GetKey(KeyCode.D)) - transform.Translate(spEed * Time.deltaTime, 0, 0); - } - - public void SendMEssage(GameObject b) - { - - - if(b.name == "enemy") - { - Destroy(b); - }if(b.name == "speed") - { - spEed *= 2; - timer = true; - time = 2; - - - - } - } -} diff --git a/Assets/Group1/Scripts/Player.cs b/Assets/Group1/Scripts/Player.cs new file mode 100644 index 00000000..fd539fd5 --- /dev/null +++ b/Assets/Group1/Scripts/Player.cs @@ -0,0 +1,47 @@ +using UnityEngine; +using System.Collections; + +[RequireComponent(typeof(Rigidbody2D))] +public class Player : MonoBehaviour +{ + [SerializeField] private float _moveSpeed; + [SerializeField] private float _boostSpeedTime; + [SerializeField] private float _boostSpeedQuoutinant; + [SerializeField] private GameObject _menu; + [SerializeField] private Rigidbody2D _rigidbody; + + public float BoostSpeedTime => _boostSpeedTime; + + private int _killedEnemies = 0; + private int _startEnemies; + + private void Start() + { + _startEnemies = GameObject.FindGameObjectsWithTag("Enemy").Length; + } + + private void Update() + { + _rigidbody.velocity = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical")); + } + + public void PlusKilledEnemies() + { + _killedEnemies++; + + if (_killedEnemies >= _startEnemies) + { + _menu.SetActive(true); + enabled = false; + } + } + + public IEnumerator BoostSpeed(float workingTime) + { + _moveSpeed *= 2; + + yield return new WaitForSeconds(workingTime); + + _moveSpeed /= 2; + } +} diff --git a/Assets/Group1/Scripts/NewBehaviourScript1.cs.meta b/Assets/Group1/Scripts/Player.cs.meta similarity index 83% rename from Assets/Group1/Scripts/NewBehaviourScript1.cs.meta rename to Assets/Group1/Scripts/Player.cs.meta index c96b73f8..c3f524a6 100644 --- a/Assets/Group1/Scripts/NewBehaviourScript1.cs.meta +++ b/Assets/Group1/Scripts/Player.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: dede9e7d6741aea4cb07b98da83cc6a8 +guid: c255955340b18e34b9913b18ad7d9a05 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Group1/Scripts/SpeedBooster.cs b/Assets/Group1/Scripts/SpeedBooster.cs new file mode 100644 index 00000000..a823cb4b --- /dev/null +++ b/Assets/Group1/Scripts/SpeedBooster.cs @@ -0,0 +1,14 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class SpeedBooster : Follower +{ + protected override void OnTriggerEnter2D(Collider2D collision) + { + if (collision.gameObject.TryGetComponent(out Player player)) + { + StartCoroutine(player.BoostSpeed(player.BoostSpeedTime)); + } + } +} diff --git a/Assets/Group1/Scripts/SpeedBooster.cs.meta b/Assets/Group1/Scripts/SpeedBooster.cs.meta new file mode 100644 index 00000000..d64c5737 --- /dev/null +++ b/Assets/Group1/Scripts/SpeedBooster.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9509de85a6de9d2458bb4f0c5284fbbd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Group1/Scripts/e.cs b/Assets/Group1/Scripts/e.cs deleted file mode 100644 index 048ebf2d..00000000 --- a/Assets/Group1/Scripts/e.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class e : MonoBehaviour -{ - private Vector3 Target; - - // Start is called before the first frame update - void Start() - { - Target = Random.insideUnitCircle * 4; - } - - // Update is called once per frame - void Update() - { - transform.position = Vector3.MoveTowards(transform.position, Target, 2 * Time.deltaTime); - if (transform.position == Target) - Target = Random.insideUnitCircle * 4 ; - } -} diff --git a/Logs/Packages-Update.log b/Logs/Packages-Update.log new file mode 100644 index 00000000..f502d00f --- /dev/null +++ b/Logs/Packages-Update.log @@ -0,0 +1,25 @@ + +=== Thu Dec 24 16:16:09 2020 + +Packages were changed. +Update Mode: updateDependencies + +The following packages were added: + com.unity.2d.sprite@1.0.0 + com.unity.2d.tilemap@1.0.0 + com.unity.ide.rider@1.1.4 + com.unity.ide.vscode@1.2.3 + com.unity.modules.androidjni@1.0.0 + com.unity.multiplayer-hlapi@1.0.6 + com.unity.test-framework@1.1.19 + com.unity.timeline@1.2.6 + com.unity.ugui@1.0.0 + com.unity.xr.legacyinputhelpers@2.1.6 +The following packages were updated: + com.unity.ads from version 2.0.8 to 3.5.2 + com.unity.analytics from version 3.2.2 to 3.3.5 + com.unity.collab-proxy from version 1.2.15 to 1.2.16 + com.unity.purchasing from version 2.0.3 to 2.1.1 + com.unity.textmeshpro from version 1.3.0 to 2.0.1 +The following packages were removed: + com.unity.package-manager-ui@2.0.7 diff --git a/Packages/manifest.json b/Packages/manifest.json index 8392bea1..7e0b88e0 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,12 +1,21 @@ { "dependencies": { - "com.unity.ads": "2.0.8", - "com.unity.analytics": "3.2.2", - "com.unity.collab-proxy": "1.2.15", - "com.unity.package-manager-ui": "2.0.7", - "com.unity.purchasing": "2.0.3", - "com.unity.textmeshpro": "1.3.0", + "com.unity.2d.sprite": "1.0.0", + "com.unity.2d.tilemap": "1.0.0", + "com.unity.ads": "3.5.2", + "com.unity.analytics": "3.3.5", + "com.unity.collab-proxy": "1.2.16", + "com.unity.ide.rider": "1.1.4", + "com.unity.ide.vscode": "1.2.3", + "com.unity.multiplayer-hlapi": "1.0.6", + "com.unity.purchasing": "2.1.1", + "com.unity.test-framework": "1.1.19", + "com.unity.textmeshpro": "2.0.1", + "com.unity.timeline": "1.2.6", + "com.unity.ugui": "1.0.0", + "com.unity.xr.legacyinputhelpers": "2.1.6", "com.unity.modules.ai": "1.0.0", + "com.unity.modules.androidjni": "1.0.0", "com.unity.modules.animation": "1.0.0", "com.unity.modules.assetbundle": "1.0.0", "com.unity.modules.audio": "1.0.0", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json new file mode 100644 index 00000000..19a5c7c4 --- /dev/null +++ b/Packages/packages-lock.json @@ -0,0 +1,374 @@ +{ + "dependencies": { + "com.unity.2d.sprite": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.2d.tilemap": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.ads": { + "version": "3.5.2", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ugui": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.analytics": { + "version": "3.3.5", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ugui": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.collab-proxy": { + "version": "1.2.16", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.ext.nunit": { + "version": "1.0.5", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.ide.rider": { + "version": "1.1.4", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.test-framework": "1.1.1" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ide.vscode": { + "version": "1.2.3", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.multiplayer-hlapi": { + "version": "1.0.6", + "depth": 0, + "source": "registry", + "dependencies": { + "nuget.mono-cecil": "0.1.6-preview" + }, + "url": "https://packages.unity.com" + }, + "com.unity.purchasing": { + "version": "2.1.1", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ugui": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.test-framework": { + "version": "1.1.19", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ext.nunit": "1.0.5", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.textmeshpro": { + "version": "2.0.1", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.ugui": "1.0.0" + }, + "url": "https://packages.unity.com" + }, + "com.unity.timeline": { + "version": "1.2.6", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.ugui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0" + } + }, + "com.unity.xr.legacyinputhelpers": { + "version": "2.1.6", + "depth": 0, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "nuget.mono-cecil": { + "version": "0.1.6-preview", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.modules.ai": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.androidjni": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.animation": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.assetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.audio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.cloth": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.director": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.animation": "1.0.0" + } + }, + "com.unity.modules.imageconversion": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.imgui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.jsonserialize": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.particlesystem": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.physics2d": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.screencapture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.subsystems": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.terrain": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.terrainphysics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.terrain": "1.0.0" + } + }, + "com.unity.modules.tilemap": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics2d": "1.0.0" + } + }, + "com.unity.modules.ui": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.uielements": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.umbra": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unityanalytics": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0" + } + }, + "com.unity.modules.unitywebrequest": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.unitywebrequestassetbundle": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestaudio": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.audio": "1.0.0" + } + }, + "com.unity.modules.unitywebrequesttexture": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.unitywebrequestwww": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0" + } + }, + "com.unity.modules.vehicles": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0" + } + }, + "com.unity.modules.video": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0" + } + }, + "com.unity.modules.vr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } + }, + "com.unity.modules.wind": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, + "com.unity.modules.xr": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.subsystems": "1.0.0" + } + } + } +} diff --git a/ProjectSettings/EditorSettings.asset b/ProjectSettings/EditorSettings.asset index 29dea529..5162e19f 100644 --- a/ProjectSettings/EditorSettings.asset +++ b/ProjectSettings/EditorSettings.asset @@ -3,19 +3,33 @@ --- !u!159 &1 EditorSettings: m_ObjectHideFlags: 0 - serializedVersion: 7 + serializedVersion: 9 m_ExternalVersionControlSupport: Visible Meta Files m_SerializationMode: 2 m_LineEndingsForNewScripts: 2 m_DefaultBehaviorMode: 0 + m_PrefabRegularEnvironment: {fileID: 0} + m_PrefabUIEnvironment: {fileID: 0} m_SpritePackerMode: 0 m_SpritePackerPaddingPower: 1 m_EtcTextureCompressorBehavior: 1 m_EtcTextureFastCompressor: 1 m_EtcTextureNormalCompressor: 2 m_EtcTextureBestCompressor: 4 - m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd + m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmref m_ProjectGenerationRootNamespace: - m_UserGeneratedProjectSuffix: m_CollabEditorSettings: inProgressEnabled: 1 + m_EnableTextureStreamingInEditMode: 1 + m_EnableTextureStreamingInPlayMode: 1 + m_AsyncShaderCompilation: 1 + m_EnterPlayModeOptionsEnabled: 0 + m_EnterPlayModeOptions: 3 + m_ShowLightmapResolutionOverlay: 1 + m_UseLegacyProbeSampleCount: 1 + m_AssetPipelineMode: 1 + m_CacheServerMode: 0 + m_CacheServerEndpoint: + m_CacheServerNamespacePrefix: default + m_CacheServerEnableDownload: 1 + m_CacheServerEnableUpload: 1 diff --git a/ProjectSettings/PackageManagerSettings.asset b/ProjectSettings/PackageManagerSettings.asset new file mode 100644 index 00000000..ca9e773f --- /dev/null +++ b/ProjectSettings/PackageManagerSettings.asset @@ -0,0 +1,38 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 61 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 13960, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_ScopedRegistriesSettingsExpanded: 1 + oneTimeWarningShown: 0 + m_Registries: + - m_Id: main + m_Name: + m_Url: https://packages.unity.com + m_Scopes: [] + m_IsDefault: 1 + m_UserSelectedRegistryName: + m_UserAddingNewScopedRegistry: 0 + m_RegistryInfoDraft: + m_ErrorMessage: + m_Original: + m_Id: + m_Name: + m_Url: + m_Scopes: [] + m_IsDefault: 0 + m_Modified: 0 + m_Name: + m_Url: + m_Scopes: + - + m_SelectedScopeIndex: 0 diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt index 6dfd6c14..57673098 100644 --- a/ProjectSettings/ProjectVersion.txt +++ b/ProjectSettings/ProjectVersion.txt @@ -1 +1,2 @@ -m_EditorVersion: 2018.3.14f1 +m_EditorVersion: 2019.4.16f1 +m_EditorVersionWithRevision: 2019.4.16f1 (e05b6e02d63e) diff --git a/ProjectSettings/XRSettings.asset b/ProjectSettings/XRSettings.asset new file mode 100644 index 00000000..482590c1 --- /dev/null +++ b/ProjectSettings/XRSettings.asset @@ -0,0 +1,10 @@ +{ + "m_SettingKeys": [ + "VR Device Disabled", + "VR Device User Alert" + ], + "m_SettingValues": [ + "False", + "False" + ] +} \ No newline at end of file From dbf194d1fcf27534c576dc620ab89028761a628d Mon Sep 17 00:00:00 2001 From: flangedmace Date: Thu, 21 Jan 2021 15:36:27 +0300 Subject: [PATCH 02/16] Init unity project --- Assets/Group1/Scripts/Enemy.cs | 12 ++---- Assets/Group1/Scripts/EnemyHolder.cs | 12 ++++++ .../Scripts/{Follower.cs => EnemyMover.cs} | 20 +++------ .../{Follower.cs.meta => EnemyMover.cs.meta} | 0 Assets/Group1/Scripts/Player.cs | 43 ++++++++++--------- Assets/Group1/Scripts/SpeedBooster.cs | 9 ++-- 6 files changed, 49 insertions(+), 47 deletions(-) create mode 100644 Assets/Group1/Scripts/EnemyHolder.cs rename Assets/Group1/Scripts/{Follower.cs => EnemyMover.cs} (51%) rename Assets/Group1/Scripts/{Follower.cs.meta => EnemyMover.cs.meta} (100%) diff --git a/Assets/Group1/Scripts/Enemy.cs b/Assets/Group1/Scripts/Enemy.cs index badf3f73..8327b1c8 100644 --- a/Assets/Group1/Scripts/Enemy.cs +++ b/Assets/Group1/Scripts/Enemy.cs @@ -2,14 +2,8 @@ using System.Collections.Generic; using UnityEngine; -public class Enemy : Follower +[RequireComponent(typeof(EnemyMover))] +public class Enemy : MonoBehaviour { - protected override void OnTriggerEnter2D(Collider2D collision) - { - if (collision.gameObject.TryGetComponent(out Player player)) - { - player.PlusKilledEnemies(); - Destroy(gameObject); - } - } + } diff --git a/Assets/Group1/Scripts/EnemyHolder.cs b/Assets/Group1/Scripts/EnemyHolder.cs new file mode 100644 index 00000000..2839ee5a --- /dev/null +++ b/Assets/Group1/Scripts/EnemyHolder.cs @@ -0,0 +1,12 @@ +using System.Collections; +using UnityEngine; + +public class EnemyHolder : MonoBehaviour +{ + [SerializeField] Player _player; + + private void Start() + { + _player.SetEnemiesNumber(GetComponentsInChildren().Length); + } +} \ No newline at end of file diff --git a/Assets/Group1/Scripts/Follower.cs b/Assets/Group1/Scripts/EnemyMover.cs similarity index 51% rename from Assets/Group1/Scripts/Follower.cs rename to Assets/Group1/Scripts/EnemyMover.cs index cfbce776..2be62cfc 100644 --- a/Assets/Group1/Scripts/Follower.cs +++ b/Assets/Group1/Scripts/EnemyMover.cs @@ -4,32 +4,24 @@ [RequireComponent(typeof(Rigidbody2D))] [RequireComponent(typeof(CircleCollider2D))] -public abstract class Follower : MonoBehaviour +public abstract class EnemyMover : MonoBehaviour { [SerializeField] private Rigidbody _rigidbody; - - [SerializeField] private float _moveSpeed; - [SerializeField] private float _maxTargetDistance; + [SerializeField] private float _speed; + [SerializeField] private float _radius; private Vector3 _target; private void Start() { - SetTargetPosition(); + _target = Random.insideUnitCircle * _radius; } private void Update() { - _rigidbody.velocity = (_target - transform.position).normalized * _moveSpeed; + _rigidbody.velocity = (_target - transform.position).normalized * _speed * Time.deltaTime; if (transform.position == _target) - SetTargetPosition(); - } - - protected virtual void OnTriggerEnter2D(Collider2D collision) { } - - private void SetTargetPosition() - { - _target = Random.insideUnitCircle * _maxTargetDistance; + _target = Random.insideUnitCircle * _radius; } } diff --git a/Assets/Group1/Scripts/Follower.cs.meta b/Assets/Group1/Scripts/EnemyMover.cs.meta similarity index 100% rename from Assets/Group1/Scripts/Follower.cs.meta rename to Assets/Group1/Scripts/EnemyMover.cs.meta diff --git a/Assets/Group1/Scripts/Player.cs b/Assets/Group1/Scripts/Player.cs index fd539fd5..9e0d7fd8 100644 --- a/Assets/Group1/Scripts/Player.cs +++ b/Assets/Group1/Scripts/Player.cs @@ -5,43 +5,44 @@ public class Player : MonoBehaviour { [SerializeField] private float _moveSpeed; - [SerializeField] private float _boostSpeedTime; - [SerializeField] private float _boostSpeedQuoutinant; [SerializeField] private GameObject _menu; [SerializeField] private Rigidbody2D _rigidbody; - public float BoostSpeedTime => _boostSpeedTime; - private int _killedEnemies = 0; - private int _startEnemies; - - private void Start() - { - _startEnemies = GameObject.FindGameObjectsWithTag("Enemy").Length; - } + private int _startEnemiesNumber; private void Update() { - _rigidbody.velocity = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical")); + _rigidbody.velocity = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical")) * _moveSpeed * Time.deltaTime; } - public void PlusKilledEnemies() + private void OnTriggerEnter2D(Collider2D collision) { - _killedEnemies++; - - if (_killedEnemies >= _startEnemies) + if (collision.gameObject.TryGetComponent(out Enemy enemy)) { - _menu.SetActive(true); - enabled = false; + _killedEnemies++; + + if (_killedEnemies >= _startEnemiesNumber) + { + _menu.SetActive(true); + enabled = false; + } + + Destroy(gameObject); } } - public IEnumerator BoostSpeed(float workingTime) + public void SetEnemiesNumber(int enemiesNumber) + { + _startEnemiesNumber = enemiesNumber; + } + + public IEnumerator BoostSpeed(float duration, float multiplier) { - _moveSpeed *= 2; + _moveSpeed *= multiplier; - yield return new WaitForSeconds(workingTime); + yield return new WaitForSeconds(duration); - _moveSpeed /= 2; + _moveSpeed /= multiplier; } } diff --git a/Assets/Group1/Scripts/SpeedBooster.cs b/Assets/Group1/Scripts/SpeedBooster.cs index a823cb4b..3b1eaeb4 100644 --- a/Assets/Group1/Scripts/SpeedBooster.cs +++ b/Assets/Group1/Scripts/SpeedBooster.cs @@ -2,13 +2,16 @@ using System.Collections.Generic; using UnityEngine; -public class SpeedBooster : Follower +public class SpeedBooster : MonoBehaviour { - protected override void OnTriggerEnter2D(Collider2D collision) + [SerializeField] private float _boostDuration; + [SerializeField] private float _boostSpeedMultiplier; + + private void OnTriggerEnter2D(Collider2D collision) { if (collision.gameObject.TryGetComponent(out Player player)) { - StartCoroutine(player.BoostSpeed(player.BoostSpeedTime)); + StartCoroutine(player.BoostSpeed(_boostDuration, _boostSpeedMultiplier)); } } } From afb418ae9dadfe8599c6c048d3a25f1bd29a03d7 Mon Sep 17 00:00:00 2001 From: flangedmace <66548573+flangedmace@users.noreply.github.com> Date: Mon, 25 Jan 2021 19:36:50 +0300 Subject: [PATCH 03/16] Update EnemyHolder.cs --- Assets/Group1/Scripts/EnemyHolder.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Assets/Group1/Scripts/EnemyHolder.cs b/Assets/Group1/Scripts/EnemyHolder.cs index 2839ee5a..981911b1 100644 --- a/Assets/Group1/Scripts/EnemyHolder.cs +++ b/Assets/Group1/Scripts/EnemyHolder.cs @@ -3,10 +3,10 @@ public class EnemyHolder : MonoBehaviour { - [SerializeField] Player _player; + [SerializeField] private Player _player; private void Start() { _player.SetEnemiesNumber(GetComponentsInChildren().Length); } -} \ No newline at end of file +} From 3c33d76ba9c0729a3c101b3d98c5397ed987be09 Mon Sep 17 00:00:00 2001 From: flangedmace Date: Mon, 25 Jan 2021 20:17:30 +0300 Subject: [PATCH 04/16] Init unity project --- Assets/Group1/Scripts/Enemy.cs | 8 ++++++++ Assets/Group1/Scripts/EnemyHolder.cs | 12 ------------ Assets/Group1/Scripts/EnemyOwner.cs | 26 ++++++++++++++++++++++++++ Assets/Group1/Scripts/Player.cs | 26 +------------------------- 4 files changed, 35 insertions(+), 37 deletions(-) delete mode 100644 Assets/Group1/Scripts/EnemyHolder.cs create mode 100644 Assets/Group1/Scripts/EnemyOwner.cs diff --git a/Assets/Group1/Scripts/Enemy.cs b/Assets/Group1/Scripts/Enemy.cs index 8327b1c8..6e578a20 100644 --- a/Assets/Group1/Scripts/Enemy.cs +++ b/Assets/Group1/Scripts/Enemy.cs @@ -5,5 +5,13 @@ [RequireComponent(typeof(EnemyMover))] public class Enemy : MonoBehaviour { + private void OnTriggerEnter2D(Collider2D collision) + { + if (collision.gameObject.TryGetComponent(out Player player)) + { + GetComponentInParent().AddKilledEnemy(); + Destroy(gameObject); + } + } } diff --git a/Assets/Group1/Scripts/EnemyHolder.cs b/Assets/Group1/Scripts/EnemyHolder.cs deleted file mode 100644 index 2839ee5a..00000000 --- a/Assets/Group1/Scripts/EnemyHolder.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.Collections; -using UnityEngine; - -public class EnemyHolder : MonoBehaviour -{ - [SerializeField] Player _player; - - private void Start() - { - _player.SetEnemiesNumber(GetComponentsInChildren().Length); - } -} \ No newline at end of file diff --git a/Assets/Group1/Scripts/EnemyOwner.cs b/Assets/Group1/Scripts/EnemyOwner.cs new file mode 100644 index 00000000..73587bd5 --- /dev/null +++ b/Assets/Group1/Scripts/EnemyOwner.cs @@ -0,0 +1,26 @@ +using System.Collections; +using UnityEngine; + +public class EnemyOwner : MonoBehaviour +{ + [SerializeField] private GameObject _menu; + + private int _killedEnemies = 0; + private int _maxEnemiesNumber; + + private void Start() + { + _maxEnemiesNumber = GetComponentsInChildren().Length; + } + + public void AddKilledEnemy() + { + _killedEnemies++; + + if (_killedEnemies >= _maxEnemiesNumber) + { + _menu.SetActive(true); + enabled = false; + } + } +} \ No newline at end of file diff --git a/Assets/Group1/Scripts/Player.cs b/Assets/Group1/Scripts/Player.cs index 9e0d7fd8..962542e7 100644 --- a/Assets/Group1/Scripts/Player.cs +++ b/Assets/Group1/Scripts/Player.cs @@ -1,42 +1,18 @@ using UnityEngine; using System.Collections; +[RequireComponent(typeof(Collider2D))] [RequireComponent(typeof(Rigidbody2D))] public class Player : MonoBehaviour { [SerializeField] private float _moveSpeed; - [SerializeField] private GameObject _menu; [SerializeField] private Rigidbody2D _rigidbody; - private int _killedEnemies = 0; - private int _startEnemiesNumber; - private void Update() { _rigidbody.velocity = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical")) * _moveSpeed * Time.deltaTime; } - private void OnTriggerEnter2D(Collider2D collision) - { - if (collision.gameObject.TryGetComponent(out Enemy enemy)) - { - _killedEnemies++; - - if (_killedEnemies >= _startEnemiesNumber) - { - _menu.SetActive(true); - enabled = false; - } - - Destroy(gameObject); - } - } - - public void SetEnemiesNumber(int enemiesNumber) - { - _startEnemiesNumber = enemiesNumber; - } - public IEnumerator BoostSpeed(float duration, float multiplier) { _moveSpeed *= multiplier; From dedb07ff16e59ba885540be41e40e0d1f0a9dc35 Mon Sep 17 00:00:00 2001 From: flangedmace Date: Mon, 25 Jan 2021 20:18:36 +0300 Subject: [PATCH 05/16] Init unity project --- Assets/Group1/Scripts/EnemyMover.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/Group1/Scripts/EnemyMover.cs b/Assets/Group1/Scripts/EnemyMover.cs index 2be62cfc..2a2e941a 100644 --- a/Assets/Group1/Scripts/EnemyMover.cs +++ b/Assets/Group1/Scripts/EnemyMover.cs @@ -4,7 +4,7 @@ [RequireComponent(typeof(Rigidbody2D))] [RequireComponent(typeof(CircleCollider2D))] -public abstract class EnemyMover : MonoBehaviour +public class EnemyMover : MonoBehaviour { [SerializeField] private Rigidbody _rigidbody; [SerializeField] private float _speed; From df54f55c62a168fbc519b290135a26d92128c9c5 Mon Sep 17 00:00:00 2001 From: flangedmace Date: Mon, 25 Jan 2021 20:19:14 +0300 Subject: [PATCH 06/16] Revert "Init unity project" This reverts commit dedb07ff16e59ba885540be41e40e0d1f0a9dc35. --- Assets/Group1/Scripts/EnemyMover.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/Group1/Scripts/EnemyMover.cs b/Assets/Group1/Scripts/EnemyMover.cs index 2a2e941a..2be62cfc 100644 --- a/Assets/Group1/Scripts/EnemyMover.cs +++ b/Assets/Group1/Scripts/EnemyMover.cs @@ -4,7 +4,7 @@ [RequireComponent(typeof(Rigidbody2D))] [RequireComponent(typeof(CircleCollider2D))] -public class EnemyMover : MonoBehaviour +public abstract class EnemyMover : MonoBehaviour { [SerializeField] private Rigidbody _rigidbody; [SerializeField] private float _speed; From 7e85049bc19264532eba8efc48b12d3af3f4c3fd Mon Sep 17 00:00:00 2001 From: flangedmace Date: Mon, 25 Jan 2021 20:19:22 +0300 Subject: [PATCH 07/16] Revert "Init unity project" This reverts commit 3c33d76ba9c0729a3c101b3d98c5397ed987be09. --- Assets/Group1/Scripts/Enemy.cs | 8 -------- Assets/Group1/Scripts/EnemyHolder.cs | 12 ++++++++++++ Assets/Group1/Scripts/EnemyOwner.cs | 26 -------------------------- Assets/Group1/Scripts/Player.cs | 26 +++++++++++++++++++++++++- 4 files changed, 37 insertions(+), 35 deletions(-) create mode 100644 Assets/Group1/Scripts/EnemyHolder.cs delete mode 100644 Assets/Group1/Scripts/EnemyOwner.cs diff --git a/Assets/Group1/Scripts/Enemy.cs b/Assets/Group1/Scripts/Enemy.cs index 6e578a20..8327b1c8 100644 --- a/Assets/Group1/Scripts/Enemy.cs +++ b/Assets/Group1/Scripts/Enemy.cs @@ -5,13 +5,5 @@ [RequireComponent(typeof(EnemyMover))] public class Enemy : MonoBehaviour { - private void OnTriggerEnter2D(Collider2D collision) - { - if (collision.gameObject.TryGetComponent(out Player player)) - { - GetComponentInParent().AddKilledEnemy(); - Destroy(gameObject); - } - } } diff --git a/Assets/Group1/Scripts/EnemyHolder.cs b/Assets/Group1/Scripts/EnemyHolder.cs new file mode 100644 index 00000000..2839ee5a --- /dev/null +++ b/Assets/Group1/Scripts/EnemyHolder.cs @@ -0,0 +1,12 @@ +using System.Collections; +using UnityEngine; + +public class EnemyHolder : MonoBehaviour +{ + [SerializeField] Player _player; + + private void Start() + { + _player.SetEnemiesNumber(GetComponentsInChildren().Length); + } +} \ No newline at end of file diff --git a/Assets/Group1/Scripts/EnemyOwner.cs b/Assets/Group1/Scripts/EnemyOwner.cs deleted file mode 100644 index 73587bd5..00000000 --- a/Assets/Group1/Scripts/EnemyOwner.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System.Collections; -using UnityEngine; - -public class EnemyOwner : MonoBehaviour -{ - [SerializeField] private GameObject _menu; - - private int _killedEnemies = 0; - private int _maxEnemiesNumber; - - private void Start() - { - _maxEnemiesNumber = GetComponentsInChildren().Length; - } - - public void AddKilledEnemy() - { - _killedEnemies++; - - if (_killedEnemies >= _maxEnemiesNumber) - { - _menu.SetActive(true); - enabled = false; - } - } -} \ No newline at end of file diff --git a/Assets/Group1/Scripts/Player.cs b/Assets/Group1/Scripts/Player.cs index 962542e7..9e0d7fd8 100644 --- a/Assets/Group1/Scripts/Player.cs +++ b/Assets/Group1/Scripts/Player.cs @@ -1,18 +1,42 @@ using UnityEngine; using System.Collections; -[RequireComponent(typeof(Collider2D))] [RequireComponent(typeof(Rigidbody2D))] public class Player : MonoBehaviour { [SerializeField] private float _moveSpeed; + [SerializeField] private GameObject _menu; [SerializeField] private Rigidbody2D _rigidbody; + private int _killedEnemies = 0; + private int _startEnemiesNumber; + private void Update() { _rigidbody.velocity = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical")) * _moveSpeed * Time.deltaTime; } + private void OnTriggerEnter2D(Collider2D collision) + { + if (collision.gameObject.TryGetComponent(out Enemy enemy)) + { + _killedEnemies++; + + if (_killedEnemies >= _startEnemiesNumber) + { + _menu.SetActive(true); + enabled = false; + } + + Destroy(gameObject); + } + } + + public void SetEnemiesNumber(int enemiesNumber) + { + _startEnemiesNumber = enemiesNumber; + } + public IEnumerator BoostSpeed(float duration, float multiplier) { _moveSpeed *= multiplier; From d1085334659f7b4a1ef9adb4a7c0bbbe42b2cff5 Mon Sep 17 00:00:00 2001 From: flangedmace Date: Mon, 25 Jan 2021 20:24:37 +0300 Subject: [PATCH 08/16] Init unity project --- Assets/Group1/Scripts/Enemy.cs | 8 ++++++++ Assets/Group1/Scripts/EnemyMover.cs | 2 +- Assets/Group1/Scripts/EnemyOwner.cs | 26 ++++++++++++++++++++++++++ Assets/Group1/Scripts/Player.cs | 26 +------------------------- 4 files changed, 36 insertions(+), 26 deletions(-) create mode 100644 Assets/Group1/Scripts/EnemyOwner.cs diff --git a/Assets/Group1/Scripts/Enemy.cs b/Assets/Group1/Scripts/Enemy.cs index 8327b1c8..6719e51d 100644 --- a/Assets/Group1/Scripts/Enemy.cs +++ b/Assets/Group1/Scripts/Enemy.cs @@ -5,5 +5,13 @@ [RequireComponent(typeof(EnemyMover))] public class Enemy : MonoBehaviour { + private void OnTriggerEnter2D(Collider2D collision) + { + if (collision.gameObject.TryGetComponent(out Enemy enemy)) + { + GetComponentInParent().AddKilledEnemy(); + Destroy(gameObject); + } + } } diff --git a/Assets/Group1/Scripts/EnemyMover.cs b/Assets/Group1/Scripts/EnemyMover.cs index 2be62cfc..2a2e941a 100644 --- a/Assets/Group1/Scripts/EnemyMover.cs +++ b/Assets/Group1/Scripts/EnemyMover.cs @@ -4,7 +4,7 @@ [RequireComponent(typeof(Rigidbody2D))] [RequireComponent(typeof(CircleCollider2D))] -public abstract class EnemyMover : MonoBehaviour +public class EnemyMover : MonoBehaviour { [SerializeField] private Rigidbody _rigidbody; [SerializeField] private float _speed; diff --git a/Assets/Group1/Scripts/EnemyOwner.cs b/Assets/Group1/Scripts/EnemyOwner.cs new file mode 100644 index 00000000..9517e01c --- /dev/null +++ b/Assets/Group1/Scripts/EnemyOwner.cs @@ -0,0 +1,26 @@ +using System.Collections; +using UnityEngine; + +public class EnemyOwner : MonoBehaviour +{ + [SerializeField] private GameObject _menu; + + private int _killedEnemies = 0; + private int _maxEnemiesNumber; + + private void Start() + { + _maxEnemiesNumber = GetComponentsInChildren().Length; + } + + public void AddKilledEnemy() + { + _killedEnemies++; + + if (_killedEnemies >= _maxEnemiesNumber) + { + _menu.SetActive(true); + enabled = false; + } + } +} \ No newline at end of file diff --git a/Assets/Group1/Scripts/Player.cs b/Assets/Group1/Scripts/Player.cs index 9e0d7fd8..962542e7 100644 --- a/Assets/Group1/Scripts/Player.cs +++ b/Assets/Group1/Scripts/Player.cs @@ -1,42 +1,18 @@ using UnityEngine; using System.Collections; +[RequireComponent(typeof(Collider2D))] [RequireComponent(typeof(Rigidbody2D))] public class Player : MonoBehaviour { [SerializeField] private float _moveSpeed; - [SerializeField] private GameObject _menu; [SerializeField] private Rigidbody2D _rigidbody; - private int _killedEnemies = 0; - private int _startEnemiesNumber; - private void Update() { _rigidbody.velocity = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical")) * _moveSpeed * Time.deltaTime; } - private void OnTriggerEnter2D(Collider2D collision) - { - if (collision.gameObject.TryGetComponent(out Enemy enemy)) - { - _killedEnemies++; - - if (_killedEnemies >= _startEnemiesNumber) - { - _menu.SetActive(true); - enabled = false; - } - - Destroy(gameObject); - } - } - - public void SetEnemiesNumber(int enemiesNumber) - { - _startEnemiesNumber = enemiesNumber; - } - public IEnumerator BoostSpeed(float duration, float multiplier) { _moveSpeed *= multiplier; From 6cfaa17e5c51e91aa3825dfcfe15570841d5dd95 Mon Sep 17 00:00:00 2001 From: flangedmace <66548573+flangedmace@users.noreply.github.com> Date: Mon, 25 Jan 2021 20:25:16 +0300 Subject: [PATCH 09/16] Delete EnemyHolder.cs --- Assets/Group1/Scripts/EnemyHolder.cs | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 Assets/Group1/Scripts/EnemyHolder.cs diff --git a/Assets/Group1/Scripts/EnemyHolder.cs b/Assets/Group1/Scripts/EnemyHolder.cs deleted file mode 100644 index 981911b1..00000000 --- a/Assets/Group1/Scripts/EnemyHolder.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.Collections; -using UnityEngine; - -public class EnemyHolder : MonoBehaviour -{ - [SerializeField] private Player _player; - - private void Start() - { - _player.SetEnemiesNumber(GetComponentsInChildren().Length); - } -} From 32971ed3527ccd42b4974d5f94a518f1b8846469 Mon Sep 17 00:00:00 2001 From: flangedmace Date: Wed, 27 Jan 2021 21:39:57 +0300 Subject: [PATCH 10/16] Init unity project --- Assets/Group1/Scripts/Enemy.cs | 2 +- Assets/Group1/Scripts/{EnemyOwner.cs => LevelFinisher.cs} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename Assets/Group1/Scripts/{EnemyOwner.cs => LevelFinisher.cs} (91%) diff --git a/Assets/Group1/Scripts/Enemy.cs b/Assets/Group1/Scripts/Enemy.cs index 6719e51d..f7199426 100644 --- a/Assets/Group1/Scripts/Enemy.cs +++ b/Assets/Group1/Scripts/Enemy.cs @@ -9,7 +9,7 @@ private void OnTriggerEnter2D(Collider2D collision) { if (collision.gameObject.TryGetComponent(out Enemy enemy)) { - GetComponentInParent().AddKilledEnemy(); + GetComponentInParent().AddKilledEnemy(); Destroy(gameObject); } diff --git a/Assets/Group1/Scripts/EnemyOwner.cs b/Assets/Group1/Scripts/LevelFinisher.cs similarity index 91% rename from Assets/Group1/Scripts/EnemyOwner.cs rename to Assets/Group1/Scripts/LevelFinisher.cs index 9517e01c..6dfa2566 100644 --- a/Assets/Group1/Scripts/EnemyOwner.cs +++ b/Assets/Group1/Scripts/LevelFinisher.cs @@ -1,7 +1,7 @@ using System.Collections; using UnityEngine; -public class EnemyOwner : MonoBehaviour +public class LevelFinisher : MonoBehaviour { [SerializeField] private GameObject _menu; From 8b68b3a86ff6c31ed36663f9c649ccdf30d0a967 Mon Sep 17 00:00:00 2001 From: flangedmace Date: Wed, 27 Jan 2021 21:45:09 +0300 Subject: [PATCH 11/16] Init unity project --- Assets/Group1/Scripts/EnemyMover.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/Group1/Scripts/EnemyMover.cs b/Assets/Group1/Scripts/EnemyMover.cs index 2a2e941a..9dec36f8 100644 --- a/Assets/Group1/Scripts/EnemyMover.cs +++ b/Assets/Group1/Scripts/EnemyMover.cs @@ -4,7 +4,7 @@ [RequireComponent(typeof(Rigidbody2D))] [RequireComponent(typeof(CircleCollider2D))] -public class EnemyMover : MonoBehaviour +public class EnemyMover : MonoBehaviour { [SerializeField] private Rigidbody _rigidbody; [SerializeField] private float _speed; From e6d1ae8a1c2edbcfeeb4caa5c819d0a43b1c01d5 Mon Sep 17 00:00:00 2001 From: flangedmace Date: Sun, 21 Feb 2021 17:03:10 +0300 Subject: [PATCH 12/16] Init unity project --- Assets/Group1/Scripts/Enemy.cs | 12 +++++++++--- Assets/Group1/Scripts/EnemyMover.cs | 11 ++++++++--- Assets/Group1/Scripts/LevelFinisher.cs | 19 ++++++++++++------- Assets/Group1/Scripts/Player.cs | 2 +- 4 files changed, 30 insertions(+), 14 deletions(-) diff --git a/Assets/Group1/Scripts/Enemy.cs b/Assets/Group1/Scripts/Enemy.cs index f7199426..8ce4c5dd 100644 --- a/Assets/Group1/Scripts/Enemy.cs +++ b/Assets/Group1/Scripts/Enemy.cs @@ -1,17 +1,23 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; +using UnityEngine.Events; [RequireComponent(typeof(EnemyMover))] public class Enemy : MonoBehaviour { + public static Enemy Singleton { get; private set; } + + public event OnDeath DeathEvent; + public delegate void OnDeath(Enemy enemy); + private void OnTriggerEnter2D(Collider2D collision) { - if (collision.gameObject.TryGetComponent(out Enemy enemy)) + if (collision.TryGetComponent(out Player player)) { - GetComponentInParent().AddKilledEnemy(); + DeathEvent?.Invoke(this); - Destroy(gameObject); + gameObject.SetActive(false); } } } diff --git a/Assets/Group1/Scripts/EnemyMover.cs b/Assets/Group1/Scripts/EnemyMover.cs index 9dec36f8..8a7e14b9 100644 --- a/Assets/Group1/Scripts/EnemyMover.cs +++ b/Assets/Group1/Scripts/EnemyMover.cs @@ -14,14 +14,19 @@ public class EnemyMover : MonoBehaviour private void Start() { - _target = Random.insideUnitCircle * _radius; + _target = GetTargetPosition(); } private void Update() { - _rigidbody.velocity = (_target - transform.position).normalized * _speed * Time.deltaTime; + transform.position = Vector3.MoveTowards(transform.position, _target, _speed * Time.deltaTime); if (transform.position == _target) - _target = Random.insideUnitCircle * _radius; + _target = GetTargetPosition(); + } + + private Vector2 GetTargetPosition() + { + return Random.insideUnitCircle * _radius; } } diff --git a/Assets/Group1/Scripts/LevelFinisher.cs b/Assets/Group1/Scripts/LevelFinisher.cs index 6dfa2566..2846a5fb 100644 --- a/Assets/Group1/Scripts/LevelFinisher.cs +++ b/Assets/Group1/Scripts/LevelFinisher.cs @@ -1,26 +1,31 @@ -using System.Collections; +using System.Collections.Generic; using UnityEngine; +using UnityEngine.UI; public class LevelFinisher : MonoBehaviour { [SerializeField] private GameObject _menu; - private int _killedEnemies = 0; private int _maxEnemiesNumber; + private List _deadEnemies; private void Start() { + _deadEnemies = new List(); _maxEnemiesNumber = GetComponentsInChildren().Length; } - - public void AddKilledEnemy() + + private void OnEnable() { - _killedEnemies++; + Enemy.Singleton.DeathEvent += AddKilledEnemy; + } - if (_killedEnemies >= _maxEnemiesNumber) + public void AddKilledEnemy(Enemy enemy) + { + if (_deadEnemies.Count >= _maxEnemiesNumber) { _menu.SetActive(true); - enabled = false; + gameObject.SetActive(false); } } } \ No newline at end of file diff --git a/Assets/Group1/Scripts/Player.cs b/Assets/Group1/Scripts/Player.cs index 962542e7..04b882d8 100644 --- a/Assets/Group1/Scripts/Player.cs +++ b/Assets/Group1/Scripts/Player.cs @@ -10,7 +10,7 @@ public class Player : MonoBehaviour private void Update() { - _rigidbody.velocity = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical")) * _moveSpeed * Time.deltaTime; + _rigidbody.velocity = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical")) * _moveSpeed; } public IEnumerator BoostSpeed(float duration, float multiplier) From 690b26da28a307b798437853aff7885a0fc00d62 Mon Sep 17 00:00:00 2001 From: flangedmace Date: Sun, 21 Feb 2021 17:28:25 +0300 Subject: [PATCH 13/16] Init unity project --- Assets/Group1/Scripts/EnemyMover.cs | 2 +- Assets/Group1/Scripts/LevelFinisher.cs | 7 ++++++- Assets/Group1/Scripts/LevelFinisher.cs.meta | 11 +++++++++++ Assets/Group1/Scripts/SpeedBooster.cs | 3 +++ 4 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 Assets/Group1/Scripts/LevelFinisher.cs.meta diff --git a/Assets/Group1/Scripts/EnemyMover.cs b/Assets/Group1/Scripts/EnemyMover.cs index 8a7e14b9..3a1091e7 100644 --- a/Assets/Group1/Scripts/EnemyMover.cs +++ b/Assets/Group1/Scripts/EnemyMover.cs @@ -6,7 +6,7 @@ [RequireComponent(typeof(CircleCollider2D))] public class EnemyMover : MonoBehaviour { - [SerializeField] private Rigidbody _rigidbody; + [SerializeField] private Rigidbody2D _rigidbody; [SerializeField] private float _speed; [SerializeField] private float _radius; diff --git a/Assets/Group1/Scripts/LevelFinisher.cs b/Assets/Group1/Scripts/LevelFinisher.cs index 2846a5fb..1744a30e 100644 --- a/Assets/Group1/Scripts/LevelFinisher.cs +++ b/Assets/Group1/Scripts/LevelFinisher.cs @@ -20,7 +20,12 @@ private void OnEnable() Enemy.Singleton.DeathEvent += AddKilledEnemy; } - public void AddKilledEnemy(Enemy enemy) + private void OnDisable() + { + Enemy.Singleton.DeathEvent -= AddKilledEnemy; + } + + private void AddKilledEnemy(Enemy enemy) { if (_deadEnemies.Count >= _maxEnemiesNumber) { diff --git a/Assets/Group1/Scripts/LevelFinisher.cs.meta b/Assets/Group1/Scripts/LevelFinisher.cs.meta new file mode 100644 index 00000000..ce8695f7 --- /dev/null +++ b/Assets/Group1/Scripts/LevelFinisher.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 996a63004d117a84bb73c0103a9669c8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Group1/Scripts/SpeedBooster.cs b/Assets/Group1/Scripts/SpeedBooster.cs index 3b1eaeb4..4d645fd9 100644 --- a/Assets/Group1/Scripts/SpeedBooster.cs +++ b/Assets/Group1/Scripts/SpeedBooster.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using UnityEngine; +[RequireComponent(typeof(Collider2D))] public class SpeedBooster : MonoBehaviour { [SerializeField] private float _boostDuration; @@ -12,6 +13,8 @@ private void OnTriggerEnter2D(Collider2D collision) if (collision.gameObject.TryGetComponent(out Player player)) { StartCoroutine(player.BoostSpeed(_boostDuration, _boostSpeedMultiplier)); + + Destroy(gameObject); } } } From 4b84a5dfb605119104d0a14c580c7c291e1bf896 Mon Sep 17 00:00:00 2001 From: flangedmace Date: Tue, 23 Feb 2021 00:18:26 +0300 Subject: [PATCH 14/16] Init unity project --- Assets/Group1/Scripts/Enemy.cs | 10 ++++++---- Assets/Group1/Scripts/LevelFinisher.cs | 23 +++++++++++++---------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/Assets/Group1/Scripts/Enemy.cs b/Assets/Group1/Scripts/Enemy.cs index 8ce4c5dd..feb048b5 100644 --- a/Assets/Group1/Scripts/Enemy.cs +++ b/Assets/Group1/Scripts/Enemy.cs @@ -6,16 +6,18 @@ [RequireComponent(typeof(EnemyMover))] public class Enemy : MonoBehaviour { - public static Enemy Singleton { get; private set; } + private LevelFinisher _levelFinisher; - public event OnDeath DeathEvent; - public delegate void OnDeath(Enemy enemy); + public void Init(LevelFinisher levelFinisher) + { + _levelFinisher = levelFinisher; + } private void OnTriggerEnter2D(Collider2D collision) { if (collision.TryGetComponent(out Player player)) { - DeathEvent?.Invoke(this); + _levelFinisher.AddKilledEnemy(this); gameObject.SetActive(false); } diff --git a/Assets/Group1/Scripts/LevelFinisher.cs b/Assets/Group1/Scripts/LevelFinisher.cs index 1744a30e..f942a7f1 100644 --- a/Assets/Group1/Scripts/LevelFinisher.cs +++ b/Assets/Group1/Scripts/LevelFinisher.cs @@ -1,32 +1,35 @@ using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; +using System.Linq; public class LevelFinisher : MonoBehaviour { [SerializeField] private GameObject _menu; private int _maxEnemiesNumber; + private List _deadEnemies; + private List _aliveEnemies; private void Start() { _deadEnemies = new List(); - _maxEnemiesNumber = GetComponentsInChildren().Length; - } - private void OnEnable() - { - Enemy.Singleton.DeathEvent += AddKilledEnemy; - } + _aliveEnemies = GetComponentsInChildren().ToList(); + _maxEnemiesNumber = _aliveEnemies.Count; - private void OnDisable() - { - Enemy.Singleton.DeathEvent -= AddKilledEnemy; + foreach(Enemy enemy in _aliveEnemies) + { + enemy.Init(this); + } } - private void AddKilledEnemy(Enemy enemy) + + public void AddKilledEnemy(Enemy enemy) { + _deadEnemies.Add(enemy); + if (_deadEnemies.Count >= _maxEnemiesNumber) { _menu.SetActive(true); From 47127db45290de4c04d807d65d234c5914cd961c Mon Sep 17 00:00:00 2001 From: flangedmace Date: Thu, 25 Feb 2021 16:19:14 +0300 Subject: [PATCH 15/16] Init unity project --- Assets/Group1/Scripts/Enemy.cs | 11 ++++------ Assets/Group1/Scripts/LevelFinisher.cs | 28 +++++++++++++++----------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/Assets/Group1/Scripts/Enemy.cs b/Assets/Group1/Scripts/Enemy.cs index feb048b5..f346c873 100644 --- a/Assets/Group1/Scripts/Enemy.cs +++ b/Assets/Group1/Scripts/Enemy.cs @@ -6,20 +6,17 @@ [RequireComponent(typeof(EnemyMover))] public class Enemy : MonoBehaviour { - private LevelFinisher _levelFinisher; + public event OnDied Died; - public void Init(LevelFinisher levelFinisher) - { - _levelFinisher = levelFinisher; - } + public delegate void OnDied(Enemy sender); private void OnTriggerEnter2D(Collider2D collision) { if (collision.TryGetComponent(out Player player)) { - _levelFinisher.AddKilledEnemy(this); + Died?.Invoke(this); - gameObject.SetActive(false); + Destroy(gameObject); } } } diff --git a/Assets/Group1/Scripts/LevelFinisher.cs b/Assets/Group1/Scripts/LevelFinisher.cs index f942a7f1..b8faf9a4 100644 --- a/Assets/Group1/Scripts/LevelFinisher.cs +++ b/Assets/Group1/Scripts/LevelFinisher.cs @@ -7,30 +7,34 @@ public class LevelFinisher : MonoBehaviour { [SerializeField] private GameObject _menu; - private int _maxEnemiesNumber; - - private List _deadEnemies; private List _aliveEnemies; private void Start() { - _deadEnemies = new List(); - _aliveEnemies = GetComponentsInChildren().ToList(); - _maxEnemiesNumber = _aliveEnemies.Count; + } - foreach(Enemy enemy in _aliveEnemies) + private void OnEnable() + { + foreach (Enemy enemy in _aliveEnemies) { - enemy.Init(this); + enemy.Died += AddKilledEnemy; + } + } + + private void OnDisable() + { + foreach (Enemy enemy in _aliveEnemies) + { + enemy.Died -= AddKilledEnemy; } } - - public void AddKilledEnemy(Enemy enemy) + private void AddKilledEnemy(Enemy enemy) { - _deadEnemies.Add(enemy); + _aliveEnemies.Remove(enemy); - if (_deadEnemies.Count >= _maxEnemiesNumber) + if (_aliveEnemies.Count > 0) { _menu.SetActive(true); gameObject.SetActive(false); From de52a334999160d9d248a90352a53a3d1221f4b3 Mon Sep 17 00:00:00 2001 From: flangedmace Date: Thu, 25 Feb 2021 16:20:18 +0300 Subject: [PATCH 16/16] Init unity project --- Assets/Group1/Scripts/LevelFinisher.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/Group1/Scripts/LevelFinisher.cs b/Assets/Group1/Scripts/LevelFinisher.cs index b8faf9a4..d25ab50b 100644 --- a/Assets/Group1/Scripts/LevelFinisher.cs +++ b/Assets/Group1/Scripts/LevelFinisher.cs @@ -34,7 +34,7 @@ private void AddKilledEnemy(Enemy enemy) { _aliveEnemies.Remove(enemy); - if (_aliveEnemies.Count > 0) + if (_aliveEnemies.Count <= 0) { _menu.SetActive(true); gameObject.SetActive(false);