Beispiel #1
0
    private IEnumerator Start()
    {
        systemStarships.InitializeStarshipsTeams(GetComponent <StarshipsSpawnMover>().MoveStarshipsOnSpawns());

        GameAudio.StartAudioEvent(audioClip, 0.125f, true);
        if (!StaticSettings.isRestart)
        {
            playerController.SetLockControl(true);
            playerCamera.SetLockMove(false);
            systemStarships.SetStarshipsLock(true);

            MoverStartPlayer.ToStartPosition(playerStarship);

            playerCamera.SetPositionWithOffset(PlayerStarshipTr.position);

            playerController.SetActiveCanvas(false);

            MoverStartZ2.Move(Z2Starship);

            Z5_Scene.SetActive(true);
            Z2_Scene.SetActive(true);
            Z5animator.SetFloat("Part(speed)", 1);

            yield return(MoverStartPlayer.IStarshipMove(playerStarship));


            cruiserAttack.StartAim();

            Z5Image.SetActive(true);
            Z2Image.SetActive(true);


            playerCamera.EnableTargetMove(cameraTarget);

            GameDialogs.StartDialogEvent(OnStartDialogEnd);
            GameDialogs.OnNextDialog += OnNextDialog;
        }
        else
        {
            GameGoals.SetActiveGoalEvent(true);

            StaticSettings.isRestart = false;

            systemStarships.SetStarshipsLock(false);

            MoverStartPlayer.ToEndPosition(playerStarship);
            MoverStartZ2.ToEndPosition(Z2Starship);

            Z2StarshipAI.SetTargetToFollowWithMaxDistance(PlayerStarshipTr);

            systemStarships.SetStarshipsFollowEnemy(true);

            cruiserAttack.StartAim();

            FrigateHealth.SetActive(true);

            cruiserAttack.StartAttack(OnBattleEnd);
            isBattle = true;
        }
    }
Beispiel #2
0
    private IEnumerator Start()
    {
        systemStarships.InitializeStarshipsTeams(GetComponent <StarshipsSpawnMover>().MoveStarshipsOnSpawns());

        systemStarships.OnOneTeamLeft += OnOneTeamLeft;

        GameAudio.StartAudioEvent(audioClip, 0.4f, true);
        if (!StaticSettings.isRestart)
        {
            playerController.SetLockControl(true);
            playerCamera.SetLockMove(false);
            systemStarships.SetStarshipsLock(true);

            MoverStart.ToStartPosition(playerStarship);

            playerCamera.SetPositionWithOffset(PlayerStarshipTr.position);

            playerController.SetActiveCanvas(false);

            yield return(MoverStart.IStarshipMove(playerStarship));


            playerCamera.EnableTargetMove(cameraTarget);

            GameDialogs.StartDialogEvent(OnStartDialogEnd);
            GameDialogs.OnNextDialog += OnNextDialog;
        }
        else
        {
            GameGoals.SetActiveGoalEvent(true);

            StaticSettings.isRestart = false;

            systemStarships.SetStarshipsLock(false);

            MoverStart.ToEndPosition(playerStarship);

            Z2StarshipAI.SetTargetToFollowWithMaxDistance(PlayerStarshipTr);

            systemStarships.StarshipsTeams[1].SetFollowTarget(PlayerStarshipTr);

            systemStarships.SetStarshipsFollowEnemy(true);

            isBattle = true;
        }
    }
Beispiel #3
0
 private void FixedUpdate()
 {
     if (!isEnd)
     {
         if (Input.GetKey(KeyCode.N))
         {
             EndGame();
         }
         if (!isPlayerDead)
         {
             if (!isBattle)
             {
                 if (systemStarships.GetMinDistanceTeamToPoint(0, BattleTr.position) < distanceBattle)
                 {
                     isBattle = true;
                     systemStarships.SetStarshipsLock(1, false);
                     systemStarships.SetStarshipsFollowEnemy(0, true);
                     GameGoals.ShowGoalEvent(1);
                     GameDialogs.ShowInGameDialogEvent(1);
                 }
             }
             else if (!isDisqualified)
             {
                 if (Vector3.Distance(PlayerStarshipTr.position, BattleTr.position) > distanceDisqualification)
                 {
                     timeOut += Time.fixedDeltaTime;
                     if (!isShowedText)
                     {
                         isShowedText = true;
                         GameDialogs.ShowInGameDialogEvent(4);
                     }
                     if (timeOut > timeDisqualification)
                     {
                         StartCoroutine(IDisqualificate());
                     }
                 }
                 else
                 {
                     isShowedText = false;
                     timeOut      = 0;
                 }
             }
         }
     }
 }