Ejemplo n.º 1
0
 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();
     }
 }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
    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();
    }