6c84f865d8
1. 휴대폰에서 실시가능하도록 조이스틱 및 버튼 입력 2. 콜라이더 및 트리거 구조 변경 3. 로테이션 단계이상함 감지 - 수정 예정
90 lines
2.0 KiB
C#
90 lines
2.0 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|