private void GameEvents_OnQuestEvent(QuestEvent evt) { Debug.Log("QuestEvent: " + evt); switch (evt) { case QuestEvent.RunStarted: currentRunStats = new CurrentRunStats(); break; case QuestEvent.ReaperAnnoyed: currentRunStats.ReaperAnnoyed++; persistedStats.ReaperAnnoyed++; RaiseEventIfCompletedNow(QuestId.ReaperAnnoyed); RaiseEventIfCompletedNow(QuestId.ReaperAnnoyedMultipleInOneRun); break; // Instead: On GolemKingKilled, if damage taken == 0 then completed. //case QuestEvent.ReachedGolemKingWithNoDamage: // break; case QuestEvent.GolemNestDestroyed: GolemNestDestroyed = true; RaiseEventIfCompletedNow(QuestId.DestroyGolemNest); break; default: DebugLinesScript.Show("Unknown quest event: " + evt.ToString(), Time.time); break; } }
public void PrintQuestDebugOutput() { foreach (var q in Quests) { string line = $"{q.GetDisplayText(this)}: isCompleted: {IsCompleted(q.Id)}, isCollected: {IsCollected(q.Id)}"; DebugLinesScript.Show(line, Time.time); Debug.Log(line); } }
public override void ApplyToMap(Vector3Int position) { int w = 30; int h = 30; MapBuilder.GenerateRandomWalkersMapFloor(w, h, pathSize: 3, walkerCount: 8, steps: 40, minBeforeTurn: 5, maxBeforeTurn: 8); // We need collision map to select a player position so build it now MapBuilder.BuildCollisionMapFromMapSource(); playerStartPos_ = MapUtil.GetRandomEdgePosition(out Vector3 unused); List <(Vector3, float)> forbiddenPositions = new List <(Vector3, float)>(); forbiddenPositions.Add((playerStartPos_, 10)); var dynamicObjects = GameObject.FindWithTag("DynamicObjects"); int difficulty = CurrentRunData.Instance.StartingDifficulty + CurrentRunData.Instance.TotalFloor; List <EnemySpawnDefinition> enemySpawnDefinitions = new List <EnemySpawnDefinition>(); if (difficulty < 12) { DebugLinesScript.Show("Unexpected difficulty for World3 (expected >= 12)", difficulty); } difficulty -= 11; difficulty = 1; int minotaurCount = difficulty / 2; int elfCount = difficulty + 1; int ravenCount = Random.Range(0, (difficulty / 2) + 3) + 1; enemySpawnDefinitions.Add(new EnemySpawnDefinition() { EnemyId = EnemyId.Raven, Count = ravenCount }); enemySpawnDefinitions.Add(new EnemySpawnDefinition() { EnemyId = EnemyId.Elf, Count = elfCount }); enemySpawnDefinitions.Add(new EnemySpawnDefinition() { EnemyId = EnemyId.Minotaur, Count = minotaurCount }); EnemySpawner.Instance.AddEnemiesForWorld(enemySpawnDefinitions, dynamicObjects.transform, forbiddenPositions); }
void Awake() { MapLayer = LayerMask.NameToLayer("Map"); PlayerLayer = LayerMask.NameToLayer("Player"); PlayerDamageLayer = LayerMask.NameToLayer("PlayerDamage"); PlayerInteractionLayer = LayerMask.NameToLayer("PlayerInteraction"); EnemyLayer = LayerMask.NameToLayer("Enemy"); EnemyNoWallsLayer = LayerMask.NameToLayer("EnemyNoWalls"); EnemyDamageLayer = LayerMask.NameToLayer("EnemyDamage"); DeadEnemyLayer = LayerMask.NameToLayer("DeadEnemy"); EnemyDeadOrAliveMask = (1 << EnemyLayer) + (1 << EnemyNoWallsLayer) + (1 << DeadEnemyLayer); EnemyAliveMask = (1 << EnemyLayer) + (1 << EnemyNoWallsLayer); CameraPositioner = FindObjectOfType <CameraPositioner>(); CameraShake = FindObjectOfType <CameraShake>(); AudioManager = FindObjectOfType <AudioManager>(); MapScript = FindObjectOfType <MapScript>(); MapAccess = (IMapAccess)MapScript; ParticleScript = FindObjectOfType <ParticleScript>(); DebugLinesScript = FindObjectOfType <DebugLinesScript>(); LightingImageEffect = FindObjectOfType <LightingImageEffect>(); LightingCamera = FindObjectOfType <LightingCamera>(); MapCamera = FindObjectOfType <MiniMapCamera>(); PlayableCharacters = FindObjectOfType <PlayableCharacters>(); GraveStoneManager = FindObjectOfType <GraveStoneManager>(); NullCheck(MapLayer); NullCheck(PlayerLayer); NullCheck(PlayerDamageLayer); NullCheck(PlayerInteractionLayer); NullCheck(EnemyLayer); NullCheck(EnemyDamageLayer); NullCheck(DeadEnemyLayer); Instance = this; }
public static void Log(CommandArg[] args) { DebugLinesScript.Show("arg", args[0]); }