[Game] Dodge
1. 총알피하기 게임 제작 2. 시간별로 단계 설정 3. 시작화면 및 이펙트, 사운드 삽입
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class NewMonoBehaviourScript : MonoBehaviour
|
||||
{
|
||||
public GameObject[] spawners;
|
||||
public Rotator rotator;
|
||||
|
||||
private GameManager gameManager;
|
||||
private int currentStep = 0;
|
||||
|
||||
void Start()
|
||||
{
|
||||
gameManager = FindFirstObjectByType<GameManager>();
|
||||
|
||||
InitializeDifficulty();
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
if (gameManager == null) return;
|
||||
|
||||
float currentTime = gameManager.GetSurviveTime();
|
||||
int targetStep = 1;
|
||||
|
||||
if (currentTime > 30f) targetStep = 4;
|
||||
else if (currentTime > 20f) targetStep = 3;
|
||||
else if (currentTime > 10f) targetStep = 2;
|
||||
else targetStep = 1;
|
||||
|
||||
if (currentStep != targetStep)
|
||||
{
|
||||
UpdateStep(targetStep);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void InitializeDifficulty()
|
||||
{
|
||||
foreach (var s in spawners) s.SetActive(false);
|
||||
if (rotator != null) rotator.enabled = false;
|
||||
|
||||
UpdateStep(1);
|
||||
}
|
||||
|
||||
void UpdateStep(int step)
|
||||
{
|
||||
currentStep = step;
|
||||
switch (step)
|
||||
{
|
||||
case 1 :
|
||||
SetSpawnersActive(2);
|
||||
if (rotator != null) rotator.enabled = false;
|
||||
break;
|
||||
|
||||
case 2 :
|
||||
SetSpawnersActive(4);
|
||||
break;
|
||||
|
||||
case 3 :
|
||||
SetSpawnersActive(4);
|
||||
if (rotator != null) rotator.enabled = true;
|
||||
break;
|
||||
|
||||
case 4:
|
||||
SetSpawnersActive(4);
|
||||
if (rotator != null) rotator.enabled = true;
|
||||
UpgradeBullSpeed(12f);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void SetSpawnersActive(int count)
|
||||
{
|
||||
for(int i = 0; i < spawners.Length; i++)
|
||||
{
|
||||
spawners[i].SetActive(i < count);
|
||||
}
|
||||
}
|
||||
|
||||
void UpgradeBullSpeed(float newSpeed)
|
||||
{
|
||||
foreach (var obj in spawners)
|
||||
{
|
||||
if (obj == null) continue;
|
||||
BulletSpawner spawner = obj.GetComponent<BulletSpawner>();
|
||||
if (spawner != null) spawner.bulletSpeed = newSpeed;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user