public void StartBattleIfEnemyExists(MapSquare currentSquare) { if (currentSquare.GetEnemy() != null && currentSquare.GetEnemy().GetIsBoss() && !hasBossTextBeenRead) { hasBossTextBeenRead = true; FindObjectOfType <MapCanvas>().GetPreBossGoalWindow().OpenPreBossGoalWindow(job); return; } if (currentSquare.GetEnemy() != null && mapGrid.GetStealthMovement() < 1) { StartBattle(currentSquare); } else if (currentSquare.GetEnemy() != null && mapGrid.GetStealthMovement() > 0) { mapGrid.UseAStealthCharge(); } }
private int GetEnemyIDFromMapSquare(MapSquare square) { Enemy prefabEnemy = square.GetEnemy(); Vector3 dummyPosition = new Vector3(-100, -100, -100); Enemy dummyEnemy = Instantiate(prefabEnemy, dummyPosition, Quaternion.identity); int enemyId = dummyEnemy.GetEnemyId(); Destroy(dummyEnemy); return(enemyId); }
public void PlayerFinishesMoving(MapSquare currentSquare) { CheckMapGridExists(); bool moveOnToBattle = PostMovementActions(currentSquare); bool trapSprung = false; bool goalReady = false; bool extractionReady = false; if (moveOnToBattle) { if (currentSquare.GetIsGoal() && !hasGoalBeenReached) { wasPlayerOnGoalBeforeCombat = true; } else if (currentSquare.GetIsExtraction()) { wasPlayerOnExtractionBeforeCombat = true; } StartBattleIfEnemyExists(currentSquare); } else { if (currentSquare.GetIsGoal() && !hasGoalBeenReached && currentSquare.GetEnemy() == null) { goalReady = true; } else if (currentSquare.GetIsExtraction() && currentSquare.GetEnemy() == null) { extractionReady = true; } mapConfig.GetTrapSpringMenu().OpenMenu(currentSquare, goalReady, extractionReady); trapSprung = true; } if (currentSquare.GetIsGoal() && !hasGoalBeenReached && currentSquare.GetEnemy() == null && !trapSprung) { FindObjectOfType <MapConfig>().GetGoalWindow().OpenGoalWindow(currentSquare); } else if (currentSquare.GetIsExtraction() && currentSquare.GetEnemy() == null && !trapSprung) { FindObjectOfType <MapConfig>().GetExtractionWindow().OpenExtractionWindow(); } }
public void InitializeMenu(MapSquare mapSquare) { gameObject.SetActive(true); square = mapSquare; locationImage = square.GetLocationImage(); hackTargets = square.GetHackTargets(); mapObjects = square.GetMapObjects(); poiScoutLevel = square.GetPOIScoutLevel(); enemyScoutLevel = square.GetEnemyScoutLevel(); Image[] images = GetComponentsInChildren <Image>(); foreach (Image image in images) { switch (image.name) { case "LocationImageContent": image.sprite = locationImage; break; } } enemy = mapSquare.GetEnemy(); if (enemy != null || enemyScoutLevel == 1) { enemyInfo.SetupEnemyInfo(enemy, square, enemyScoutLevel); } else if (enemy == null && enemyScoutLevel == 3 || enemy == null && enemyScoutLevel == 2) { enemyInfo.SetupEmptyEnemy(square); } SetupHackTargets(); CheckIsPlayerAdjacent(); UpdateEffectsButton(); }