public void UpdateTestEnemy() { if (!Stage.Current.charaBank.TryGetEnemy(out var enemy)) { enemy = CharaFactory.CreateEnemy(testEnemy.enemyName); enemy.data.position = testEnemy.positionList[testEnemyIndex]; enemy.data.rotation = Quaternion.LookRotation(new Vector2(-1f, 0f)); Main.Instance.stage.charaBank.Add(enemy); testEnemyIndex = (testEnemyIndex + 1) % testEnemy.positionList.Length;; } }
public void Update() { if (testEnemy.enabled) { UpdateTestEnemy(); return; } if (0 < debugStartTime) { if (Stage.Current.time.time < debugStartTime) { Stage.Current.time.time = debugStartTime; } if (debugStartTime + debugLoopDuration < Stage.Current.time.time) { Stage.Current.time.time = debugStartTime; } } var preTime = Stage.Current.time.preTime; var time = Stage.Current.time.time; for (int i = 0, iCount = data.eventList.Length; i < iCount; ++i) { var row = data.eventList[i]; if (row.type == WaveEventType.None) { continue; } if (!TimeEventData.TryGetEvent(startTime + (row.startTime / 1000f), 0f, preTime, time, out var eventData)) { continue; } var pos = row.position * 16f; var enemy = CharaFactory.CreateEnemy(row.enemyName); enemy.data.position = pos; var vec = Vector2Util.FromDeg(row.angle); enemy.data.rotation = Quaternion.LookRotation((Vector3)vec); enemy.data.velocity = enemy.data.rotation * Vector3.forward; Main.Instance.stage.charaBank.Add(enemy); } }