private void DetatchTile() { TileManagerService tileManager = TileManagerService.GetInstance(); Tile.transform.SetParent(tileManager.GetUiTransfromBase()); Tile = null; }
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 = ""; }
private void EndLevel() { TileManagerService.GetInstance().IsLocked = true; PlayerSpawner.LockSpawner(); PlayerSpawner.RemoveAllSpawnedUnits(); OpponentSpawner.LockSpawner(); OpponentSpawner.RemoveAllSpawnedUnits(); }
private void SwapTiles(TileContainer A, TileContainer B) { TileManagerService tileManager = TileManagerService.GetInstance(); tileManager.SwapTilesInContainer( A, B ); }
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; } } }
public void OnBeginDrag(PointerEventData beginDrag) { if (TileManagerService.GetInstance().IsLocked) { return; } TileSelector selector = TileSelector.GetInstance(); selector.Unselect(); selector.Select(this); }
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(); } }
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()); } }
void Awake() { TileMap = new List <List <TileContainer> >(); Instance = this; }
void Update() { TileManagerService tileManager = TileManagerService.GetInstance(); }