Skip to content

Commit

Permalink
Merge pull request #58 from BerceniSoft/sergiu/levels-and-enemies
Browse files Browse the repository at this point in the history
Improve levels and enemies.
  • Loading branch information
brown121407 committed Dec 29, 2022
2 parents 3c28a86 + 4d16b47 commit 3d07d35
Show file tree
Hide file tree
Showing 13 changed files with 77 additions and 23 deletions.
2 changes: 1 addition & 1 deletion Assets/Prefabs/Enemy.prefab
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ MonoBehaviour:
firingSpeed: 2
projectile: {fileID: 9139162334264945893, guid: f510d68a96d48b74c942598ec49e5cd2, type: 3}
enemyFirePoint: {fileID: 7821751694810432115}
minDistance: 10
minDistance: 20
enemyBody: {fileID: 8908137836564718879}
health: 0
--- !u!1 &5834089900873688663
Expand Down
10 changes: 9 additions & 1 deletion Assets/Scenes/Level 2.unity
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.17307952, g: 0.21632008, b: 0.29832444, a: 1}
m_IndirectSpecularColor: {r: 0.173079, g: 0.21631923, b: 0.29832268, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
Expand Down Expand Up @@ -7860,6 +7860,14 @@ PrefabInstance:
propertyPath: level
value: 2
objectReference: {fileID: 0}
- target: {fileID: 12744624317710530, guid: 202027c59e52e421ab0aafec69ab8e16, type: 3}
propertyPath: waves
value: 5
objectReference: {fileID: 0}
- target: {fileID: 12744624317710530, guid: 202027c59e52e421ab0aafec69ab8e16, type: 3}
propertyPath: enemiesPerWave
value: 4
objectReference: {fileID: 0}
- target: {fileID: 12744624317710531, guid: 202027c59e52e421ab0aafec69ab8e16, type: 3}
propertyPath: m_audioClip
value:
Expand Down
10 changes: 9 additions & 1 deletion Assets/Scenes/Level 3.unity
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.17307952, g: 0.21632008, b: 0.29832444, a: 1}
m_IndirectSpecularColor: {r: 0.173079, g: 0.21631923, b: 0.29832268, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
Expand Down Expand Up @@ -5932,6 +5932,14 @@ PrefabInstance:
propertyPath: level
value: 3
objectReference: {fileID: 0}
- target: {fileID: 12744624317710530, guid: 202027c59e52e421ab0aafec69ab8e16, type: 3}
propertyPath: waves
value: 7
objectReference: {fileID: 0}
- target: {fileID: 12744624317710530, guid: 202027c59e52e421ab0aafec69ab8e16, type: 3}
propertyPath: enemiesPerWave
value: 5
objectReference: {fileID: 0}
- target: {fileID: 12744624317710531, guid: 202027c59e52e421ab0aafec69ab8e16, type: 3}
propertyPath: m_audioClip
value:
Expand Down
8 changes: 8 additions & 0 deletions Assets/Scenes/Level 4.unity
Original file line number Diff line number Diff line change
Expand Up @@ -19374,6 +19374,14 @@ PrefabInstance:
propertyPath: level
value: 4
objectReference: {fileID: 0}
- target: {fileID: 12744624317710530, guid: 202027c59e52e421ab0aafec69ab8e16, type: 3}
propertyPath: waves
value: 10
objectReference: {fileID: 0}
- target: {fileID: 12744624317710530, guid: 202027c59e52e421ab0aafec69ab8e16, type: 3}
propertyPath: enemiesPerWave
value: 6
objectReference: {fileID: 0}
- target: {fileID: 12744624317710530, guid: 202027c59e52e421ab0aafec69ab8e16, type: 3}
propertyPath: secondsTillSpawn
value: 4
Expand Down
8 changes: 8 additions & 0 deletions Assets/Scenes/Level 5.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 11 additions & 3 deletions Assets/Scenes/Level 5.unity
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.17307952, g: 0.21632008, b: 0.29832444, a: 1}
m_IndirectSpecularColor: {r: 0.173079, g: 0.21631923, b: 0.29832268, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
Expand Down Expand Up @@ -122,7 +122,7 @@ NavMeshSettings:
preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 23800000, guid: 275ff48c5f7ba4d438899fbd6177f2d8, type: 2}
m_NavMeshData: {fileID: 23800000, guid: 620f2dce7566b4109950feadc496a212, type: 2}
--- !u!1001 &54617869
PrefabInstance:
m_ObjectHideFlags: 0
Expand Down Expand Up @@ -4509,7 +4509,15 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 12744624317710530, guid: 202027c59e52e421ab0aafec69ab8e16, type: 3}
propertyPath: level
value: 4
value: 5
objectReference: {fileID: 0}
- target: {fileID: 12744624317710530, guid: 202027c59e52e421ab0aafec69ab8e16, type: 3}
propertyPath: waves
value: 1
objectReference: {fileID: 0}
- target: {fileID: 12744624317710530, guid: 202027c59e52e421ab0aafec69ab8e16, type: 3}
propertyPath: enemiesPerWave
value: 1
objectReference: {fileID: 0}
- target: {fileID: 12744624317710530, guid: 202027c59e52e421ab0aafec69ab8e16, type: 3}
propertyPath: secondsTillSpawn
Expand Down
Binary file added Assets/Scenes/Level 5/NavMesh.asset
Binary file not shown.
8 changes: 8 additions & 0 deletions Assets/Scenes/Level 5/NavMesh.asset.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion Assets/Scripts/Constants/Scenes.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ public enum Scenes
Level1,
Level2,
Level3,
Level4
Level4,
Level5
}
}
8 changes: 6 additions & 2 deletions Assets/Scripts/Enemy/EnemyController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public class EnemyController : MonoBehaviour
[SerializeField] private float firingSpeed;
[SerializeField] private GameObject projectile;
[SerializeField] private Transform enemyFirePoint;
[SerializeField] private int minDistance = 10;
[SerializeField] private int minDistance = 20;
[SerializeField] private GameObject enemyBody;

public EnemyStageData StageData => _evolvable.Stage.EnemyData;
Expand Down Expand Up @@ -55,7 +55,7 @@ private void Update()
var distance = Vector3.Distance(_player.transform.position, transform.position);
transform.LookAt(_player.transform);

if (distance < minDistance && _player.transform.hasChanged)
if (_player.transform.hasChanged)
{
var destination = _player.transform.position;
var rotX = destination[0] - enemyBody.transform.position.x;
Expand All @@ -71,6 +71,10 @@ private void Update()
}
_rigidbody.AddTorque(new Vector3(rotX / 2, 0, rotZ / 2) * _rollSpeed);
_nav.SetDestination(destination);
}

if (distance < minDistance)
{
Shoot();
}

Expand Down
24 changes: 11 additions & 13 deletions Assets/Scripts/GameManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
using UnityEngine;
using Random = UnityEngine.Random;
using UnityEngine.SceneManagement;
using UnityEngine.Serialization;

public class GameManager : MonoBehaviour
{
Expand All @@ -18,14 +17,12 @@ public class GameManager : MonoBehaviour
[SerializeField] private float percentToNextWave = .75f;

[Header("Level settings")]
[SerializeField] private int level = 1;

private int _numberOfWaves;
private int _constEnemies = 1;
[SerializeField] private int waves = 3;
[SerializeField] private int enemiesPerWave = 3;

private bool _spawning = false;
private int _pause = 0;
private int _waveCount = 0;
private int _waveConst = 3;
private HudManager _ui;
private Player _player;
private Vector3 _playerPosition;
Expand All @@ -34,10 +31,11 @@ public class GameManager : MonoBehaviour

private void Awake()
{
_numberOfWaves = _waveConst * (SceneManager.GetActiveScene().buildIndex - 2);
var levelIndex = SceneManager.GetActiveScene().buildIndex - (int) Scenes.Level1 + 1;

_ui = GameObject.Find("HUD").GetComponent<HudManager>();
_player = GetComponentInChildren<Player>();
_player.UnlockBulletsForLevel(level);
_player.UnlockBulletsForLevel(levelIndex);
_floorSize = GameObject.FindWithTag("Floor").GetComponent<MeshRenderer>().bounds.size;
maxWidth = _floorSize.x / 3;
_camera = Camera.main;
Expand Down Expand Up @@ -76,7 +74,7 @@ private void Update()

private void CheckNoEnemies()
{
if (GameObject.FindGameObjectsWithTag(Tags.Enemy).Length < percentToNextWave * _constEnemies)
if (GameObject.FindGameObjectsWithTag(Tags.Enemy).Length < percentToNextWave * enemiesPerWave)
{
NextWave();
}
Expand Down Expand Up @@ -117,14 +115,14 @@ private Vector3 GetRandomPosition()

private void NextWave()
{
if (_waveCount + 1 > _numberOfWaves)
if (_waveCount + 1 > waves)
{
ProgressToNextLevel();
}
else
{
_waveCount++;
_ui.WavesUI.UpdateWaves(_numberOfWaves - _waveCount + 1);
_ui.WavesUI.UpdateWaves(waves - _waveCount + 1);
StartCoroutine(SpawnEnemies());
}
}
Expand All @@ -133,7 +131,7 @@ private IEnumerator SpawnEnemies()
{
_spawning = true;
yield return new WaitForSeconds(secondsTillSpawn);
for (var i = 0; i < _constEnemies; i++)
for (var i = 0; i < enemiesPerWave; i++)
{
Instantiate(enemyPrefab, GetRandomPosition(), Quaternion.identity);
}
Expand All @@ -144,7 +142,7 @@ private IEnumerator SpawnEnemies()
private void ProgressToNextLevel()
{
var activeSceneIndex = SceneManager.GetActiveScene().buildIndex;
if (activeSceneIndex < (int) Scenes.Level4) // TODO: Replace Level4 with whatever will be the last level
if (activeSceneIndex < (int) Scenes.Level5)
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
}
Expand Down
2 changes: 1 addition & 1 deletion Assets/Scripts/Player.cs
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ public void SetBullet(BulletType bulletType)

public void UnlockBulletsForLevel(int upToIndex)
{
for (int i = 0; i < upToIndex; i++)
for (var i = 0; i < upToIndex; i++)
{
UnlockedBulletTypes.Add(AvailableBulletTypes[i]);
}
Expand Down
3 changes: 3 additions & 0 deletions ProjectSettings/EditorBuildSettings.asset
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ EditorBuildSettings:
- enabled: 1
path: Assets/Scenes/Level 4.unity
guid: 95d27f4fd5628ee4a96c61a9c6edc021
- enabled: 1
path: Assets/Scenes/Level 5.unity
guid: 41d6950c04694794981589fb3c85651a
- enabled: 0
path: Assets/Scenes/SampleScene.unity
guid: 9fc0d4010bbf28b4594072e72b8655ab
Expand Down

0 comments on commit 3d07d35

Please sign in to comment.