示例#1
0
    private IEnumerator FirstLevelStart()
    {
        yield return(new WaitForSeconds(0.5f));

        FirstLevelPlayer.SetActive(true);

        ThisIsYouArrow.SetActive(true);
        ThisIsYouText.SetActive(true);

        yield return(new WaitForSeconds(1.5f));

        FirstLevelPlayer.GetComponent <PieceController>().Obliviate();

        ThisIsYouArrow.GetComponent <Animator>().SetTrigger("Switch");
        ThisIsYouText.GetComponent <Animator>().SetTrigger("Switch");

        yield return(new WaitForSeconds(0.5f));

        ThisIsYouArrow.SetActive(false);
        ThisIsYouText.SetActive(false);

        yield return(new WaitForSeconds(0.8f));

        YourHomeArrow.SetActive(true);
        YourHomeText.SetActive(true);

        List <PieceController> solutionPieces = new List <PieceController>();

        ActiveGrid = _gridGenerator.GenerateGrid(3, 3);

        solutionPieces.Add(ActiveGrid.AddPlayingPiece(CreatePieceOnGrid(new Vector2Int(2, 2))));
        solutionPieces.Add(ActiveGrid.AddPlayingPiece(CreatePieceOnGrid(new Vector2Int(2, 2))));
        solutionPieces.Add(ActiveGrid.AddPlayingPiece(CreatePieceOnGrid(new Vector2Int(1, 2))));
        solutionPieces.Add(ActiveGrid.AddPlayingPiece(CreatePieceOnGrid(new Vector2Int(2, 1))));

        ActiveGrid.GSolution = new GridGenerator.GridSolution(solutionPieces);

        PlaceCivsOnPiece(ActiveGrid.Pieces[1, 1]);

        yield return(new WaitForSeconds(1f));

        YourHomeArrow.GetComponent <Animator>().SetTrigger("Switch");
        YourHomeText.GetComponent <Animator>().SetTrigger("Switch");

        yield return(new WaitForSeconds(0.5f));

        YourHomeArrow.SetActive(false);
        YourHomeText.SetActive(false);

        _meteor = Instantiate(PrefabManager.GetPrefab(PrefabManager.PrefabType.Meteor)).GetComponent <MeteorController>();

        StartCoroutine(MeteorPause());
    }
示例#2
0
    private void Start()
    {
        //_playerPiece.ConvertPlayerPieceType(PlayerPieceController.PlayerPieceType.Destroy);

        List <PieceController> solutionPieces = new List <PieceController>();

        if (GridLevel == 1)
        {
            StartCoroutine(FirstLevelStart());
        }
        else if (GridLevel == 2)
        {
            _firstPlay = false;

            ActiveGrid = _gridGenerator.GenerateGrid(4, 4);

            solutionPieces.Add(ActiveGrid.AddPlayingPiece(CreatePieceOnGrid(new Vector2Int(1, 3))));
            solutionPieces.Add(ActiveGrid.AddPlayingPiece(CreatePieceOnGrid(new Vector2Int(3, 3))));
            solutionPieces.Add(ActiveGrid.AddPlayingPiece(CreatePieceOnGrid(new Vector2Int(2, 3))));
            solutionPieces.Add(ActiveGrid.AddPlayingPiece(CreatePieceOnGrid(new Vector2Int(3, 2))));

            ActiveGrid.GSolution = new GridGenerator.GridSolution(solutionPieces);

            PlaceCivsOnPiece(ActiveGrid.Pieces[1, 1]);

            StartCoroutine(MeteorPause());

            _gameStarted = false;
        }
        else if (GridLevel == 3)
        {
            _firstPlay = false;

            ActiveGrid = _gridGenerator.GenerateGrid(5, 5);

            solutionPieces.Add(ActiveGrid.AddPlayingPiece(CreatePieceOnGrid(new Vector2Int(1, 3))));
            solutionPieces.Add(ActiveGrid.AddPlayingPiece(CreatePieceOnGrid(new Vector2Int(3, 3))));
            solutionPieces.Add(ActiveGrid.AddPlayingPiece(CreatePieceOnGrid(new Vector2Int(2, 3))));
            solutionPieces.Add(ActiveGrid.AddPlayingPiece(CreatePieceOnGrid(new Vector2Int(3, 2))));

            ActiveGrid.GSolution = new GridGenerator.GridSolution(solutionPieces);

            PlaceCivsOnPiece(ActiveGrid.Pieces[1, 1]);

            StartCoroutine(MeteorPause());

            _gameStarted = false;
        }
    }