Beispiel #1
0
    private void DetatchTile()
    {
        TileManagerService tileManager = TileManagerService.GetInstance();

        Tile.transform.SetParent(tileManager.GetUiTransfromBase());
        Tile = null;
    }
Beispiel #2
0
    private IEnumerator LevelStartCountdown()
    {
        EndLevel();
        PlayerSpawner.UnlockSpawner();
        OpponentSpawner.UnlockSpawner();
        UIManagerService.GetInstance().ShowTilesContainer();
        SplashLabel.color = new Color(1f, 1f, 1f);
        TimerLabel.gameObject.SetActive(true);
        SplashLabel.gameObject.SetActive(true);
        SplashLabel.text = "Level Starting In...\n3";
        yield return(new WaitForSeconds(1));

        SplashLabel.text = "Level Starting In...\n2";
        yield return(new WaitForSeconds(1));

        SplashLabel.text = "Level Starting In...\n1";
        yield return(new WaitForSeconds(1));

        SplashLabel.text = "GO!";
        TileManagerService.GetInstance().InitTiles();
        TileManagerService.GetInstance().IsLocked     = false;
        GroundClaimsService.GetInstance().TrackClaims = true;
        OpponentScriptedSpawner.StartSpawning();
        StartCoroutine(UpdateTimer());
        yield return(new WaitForSeconds(1));

        SplashLabel.text = "";
    }
Beispiel #3
0
 private void EndLevel()
 {
     TileManagerService.GetInstance().IsLocked = true;
     PlayerSpawner.LockSpawner();
     PlayerSpawner.RemoveAllSpawnedUnits();
     OpponentSpawner.LockSpawner();
     OpponentSpawner.RemoveAllSpawnedUnits();
 }
Beispiel #4
0
    private void SwapTiles(TileContainer A, TileContainer B)
    {
        TileManagerService tileManager = TileManagerService.GetInstance();

        tileManager.SwapTilesInContainer(
            A,
            B
            );
    }
Beispiel #5
0
 public void TransitionToThenSwap(TileContainer tileA, TileContainer tileB)
 {
     if (TileManagerService
         .GetInstance()
         .AreTilesAdjacent(tileA, tileB)
         )
     {
         IsTransitioning = true;
         bool tileATransitionComplete = false;
         bool tileBTransitionComplete = false;
         if (tileA.Tile != null)
         {
             StartCoroutine(tileA.Tile.TransitionTo(
                                tileB.transform.position,
                                delegate() {
                 SfxManagerService.GetInstance().PlayTileDing();
                 tileATransitionComplete = true;
                 if (tileATransitionComplete && tileBTransitionComplete)
                 {
                     SwapTiles(tileA, tileB);
                     IsTransitioning = false;
                 }
             }
                                ));
         }
         else
         {
             tileATransitionComplete = true;
         }
         if (tileB.Tile != null)
         {
             StartCoroutine(tileB.Tile.TransitionTo(
                                tileA.transform.position,
                                delegate() {
                 tileBTransitionComplete = true;
                 if (tileATransitionComplete && tileBTransitionComplete)
                 {
                     SwapTiles(tileA, tileB);
                     IsTransitioning = false;
                 }
             }
                                ));
         }
         else
         {
             tileBTransitionComplete = true;
         }
         if (tileATransitionComplete && tileBTransitionComplete)
         {
             SwapTiles(tileA, tileB);
             IsTransitioning = false;
         }
     }
 }
Beispiel #6
0
    public void OnBeginDrag(PointerEventData beginDrag)
    {
        if (TileManagerService.GetInstance().IsLocked)
        {
            return;
        }
        TileSelector selector = TileSelector.GetInstance();

        selector.Unselect();
        selector.Select(this);
    }
Beispiel #7
0
    public void OnPointerEnter(PointerEventData eventData)
    {
        if (TileManagerService.GetInstance().IsLocked)
        {
            return;
        }
        TileSelector selector = TileSelector.GetInstance();

        if (selector.IsTileSelected() && selector.GetSelected() != this)
        {
            TileContainer tileB = selector.GetSelected();
            TransitionToThenSwap(this, tileB);
            selector.Unselect();
        }
    }
Beispiel #8
0
    private IEnumerator UpdateTimer()
    {
        string timerMins    = Mathf.Floor(CurrentLevelTimeRemaining / 60).ToString("00");
        string timerSeconds = (CurrentLevelTimeRemaining % 60).ToString("00");

        TimerLabel.text = timerMins + ":" + timerSeconds;
        if (IsLevelOver())
        {
            OpponentScriptedSpawner.StopSpawning();
            Team Winner = GetWinningTeam();
            switch (Winner)
            {
            case Team.Left:
                SplashLabel.color = new Color(0, 0, 1f);
                SplashLabel.text  = "You Win!";
                CompletedChallenges.Add(LoadedChallenge);
                UIManagerService.GetInstance().MarkLevelAsComplete(LoadedChallenge);
                break;

            case Team.Right:
                SplashLabel.color = new Color(1f, 0, 0);
                SplashLabel.text  = "You Lose...";
                break;

            default:
                SplashLabel.color = new Color(0, 0, 0);
                SplashLabel.text  = "Draw";
                break;
            }
            EndLevel();
            yield return(new WaitForSeconds(3));

            TimerLabel.gameObject.SetActive(false);
            SplashLabel.gameObject.SetActive(false);
            TileManagerService.GetInstance().RemoveCurrentTiles();
            GroundClaimsService.GetInstance().ResetCoverage();
            UIManagerService.GetInstance().ShowChallengeMenu();
            LoadDemoMode();
        }
        else
        {
            yield return(new WaitForSeconds(1));

            CurrentLevelTimeRemaining--;
            StartCoroutine(UpdateTimer());
        }
    }
Beispiel #9
0
 void Awake()
 {
     TileMap  = new List <List <TileContainer> >();
     Instance = this;
 }
Beispiel #10
0
 void Update()
 {
     TileManagerService tileManager = TileManagerService.GetInstance();
 }