Skip to content
Snippets Groups Projects
Commit df5cc9ac authored by Louis  Riemenn's avatar Louis Riemenn
Browse files

Merge branch 'waveMode' into 'main'

Wave mode

See merge request 13519016/if3210-2022-unity-63!9
parents 210cb87d 909cac51
Branches
Tags
1 merge request!9Wave mode
This diff is collapsed.
This diff is collapsed.
fileFormatVersion: 2
guid: 540c9dfc8fb8b5c4b99a35ef6b1ba2fa
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RandomSpawnPoint : MonoBehaviour
{
public GameObject spawnPoints;
public GameObject floor;
public float spawnTime = 1f;
void Start()
{
//Mengeksekusi fungs Spawn setiap beberapa detik sesui dengan nilai spawnTime
InvokeRepeating("Change", spawnTime, spawnTime);
}
void Change()
{
Vector3 center = floor.transform.position;
//Assume size = 100
int size = 100;
Vector3 pos = center + new Vector3(Random.Range(-size/2 , size/2),0, Random.Range(-size/2, size/2));
}
}
fileFormatVersion: 2
guid: 45b00e2563338f648aefa7d61b543e20
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -71,7 +71,6 @@ public class SkeletonShooting : MonoBehaviour
if (Physics.Raycast(shootRay, out shootHit, range, shootableMask))
{
if (playerHealth.currentHealth > 0)
{
playerHealth.TakeDamage(damagePerShot);
......
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class EnemyManager : MonoBehaviour
{
......@@ -8,15 +9,20 @@ public class EnemyManager : MonoBehaviour
public GameObject enemy;
public int spawnEnemy;
public float spawnTime = 3f;
public Transform[] spawnPoints;
public Vector3 spawnPointsCenter;
public Vector3 spawnRotation;
public Vector3 size;
UnityEngine.AI.NavMeshAgent nav;
int floorMask;
[SerializeField]
public MonoBehaviour factory;
IFactory Factory { get { return factory as IFactory; } }
void Start ()
{
floorMask = LayerMask.GetMask("Floor");
//Mengeksekusi fungs Spawn setiap beberapa detik sesui dengan nilai spawnTime
nav = GetComponent<UnityEngine.AI.NavMeshAgent>();
InvokeRepeating("Spawn", spawnTime, spawnTime);
}
......@@ -27,12 +33,18 @@ public class EnemyManager : MonoBehaviour
{
return;
}
int spawnPointIndex = Random.Range (0, spawnPoints.Length);
// Menduplikasi enemy
Instantiate(Factory.FactoryMethod(spawnEnemy), spawnPoints[spawnPointIndex].position, spawnPoints[spawnPointIndex].rotation);
NavMeshHit hit;
bool search = true;
while (search)
{
Vector3 pos = spawnPointsCenter + new Vector3(Random.Range(-size.x / 2, size.x / 2), 0.5f, Random.Range(-size.z / 2, size.z / 2));
if (NavMesh.SamplePosition(pos, out hit, 1f, NavMesh.AllAreas))
{
Quaternion quaternion = Quaternion.Euler(spawnRotation.x, spawnRotation.y, spawnRotation.z);
// Menduplikasi enemy
Instantiate(Factory.FactoryMethod(spawnEnemy), pos, quaternion);
search = false;
}
}
}
}
......@@ -9,8 +9,14 @@ EditorUserSettings:
value: 22424703114646680e0b0227036c6c111b07142f1f2b233e2867083debf42d
flags: 0
RecentlyUsedScenePath-1:
value: 22424703114646680e0b0227036c7315001214157c796661633c133af6f9
flags: 0
RecentlyUsedScenePath-2:
value: 22424703114646680e0b0227036c7315001214157c7968252320092a
flags: 0
RecentlyUsedScenePath-3:
value: 22424703114646680e0b0227036c7315001214157c7a68252320092a
flags: 0
vcSharedLogLevel:
value: 0d5e400f0650
flags: 0
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment