public override void StartApp() { GenerateLevel(); Sprite sRocket = gm.spriteDB.speedRunner_rocket; Sprite sSpeedMark = gm.spriteDB.speedRunner_rocketSpeedMark; Sprite sAsteroid = gm.spriteDB.speedRunner_rocketAsteroid; Sprite sExplosion = gm.spriteDB.speedRunner_rocketExplosion; Sprite sFinish = gm.spriteDB.speedRunner_rocketFinish; ScreenElement.BuildRectangle("Line", Parent).SetSize(1, 32).SetPosition(6, 0); rocket = ScreenElement.BuildSprite("Rocket", Parent).SetSize(8, 8).SetPosition(15, 32).SetSprite(sRocket); StartCoroutine(IASpawnRocket()); for (int i = 0; i < visualRows.Length; i++) { visualRows[i] = ScreenElement.BuildContainer($"Row{i}", Parent).SetSize(24, 6).SetPosition(7, -6); for (int j = 0; j < 3; j++) { ScreenElement.BuildSprite($"Asteroid{j}", visualRows[i].transform).SetSize(7, 6).SetPosition(j * 8, 0).SetSprite(sAsteroid); } } finishRow = ScreenElement.BuildContainer($"FinishRow", Parent).SetSize(25, 32).SetPosition(7, -32); for (int i = 0; i < 2; i++) { ScreenElement.BuildSprite($"FinishLine{i}", finishRow.transform).SetSize(6, 32).SetPosition(1 + (i * 17), 0).SetSprite(sFinish); } for (int i = 0; i < speedMarks.Length; i++) { speedMarks[i] = ScreenElement.BuildSprite($"SpeedMark{i}", Parent).SetSize(3, 5).SetPosition(2, 26 - (i * 6)).SetSprite(sSpeedMark); speedMarks[i].SetActive(false); } InvokeRepeating("CustomUpdate", 0f, THIS_DELTA_TIME); }
private int result = 0; //0: nothing, 1: loading, 2: failure, 3: succeed. private void StartLoadingBar() { result = 1; rbBlackScreen = ScreenElement.BuildRectangle("BlackScreen0", Parent).SetSize(32, 32); sbLoading = ScreenElement.BuildSprite("Loading", Parent).SetSprite(gm.spriteDB.loading).PlaceOutside(Direction.Up); loadingCoroutine = StartCoroutine(AnimateLoadingBar()); }
private void OpenAreaSelection() { currentScreen = 1; //If the player is entering the map he already is in, start hovering in his current area, rather than the 'area 0' of that map. displayArea = (displayMap == originalMap) ? OriginalAreaIndexInCurrentMap : 0; if (currentAreaMarker != null) { currentAreaMarker.SetActive(false); } //The marker that indicates the area that is being chosen. hoveredMarker = ScreenElement.BuildRectangle("OptionMarker", screenDisplay.transform).SetSize(2, 2).SetFlickPeriod(0.25f) .SetPosition(thisWorldData.areas[SelectedArea].coords); hoveredAreaName = ScreenElement.BuildTextBox("AreaName", screenDisplay.transform, DFont.Small).SetText("area").SetPosition(28, 5); if (displayMap == 0 || displayMap == 3) { hoveredAreaName.SetPosition(2, 1); } else { hoveredAreaName.SetPosition(2, 26); } hoveredAreaName.Text = string.Format("area{0:00}", SelectedArea + 1); //+1 because, in game, areas start at #1, not 0. }
private void DrawAreaMarkers(bool displayOriginalArea) { ClearMarkers(); //Destroy all current markers. int[] shownAreas = thisWorldData.GetAreasInMap(displayMap); foreach (int i in shownAreas) { if (gm.WorldMgr.GetAreaCompleted(originalWorld, i)) { RectangleBuilder marker = ScreenElement.BuildRectangle($"Area {i} Marker", Parent) .SetSize(2, 2).SetPosition(thisWorldData.areas[i].coords); completedMarkers.Add(marker); } if (displayOriginalArea) { if (originalArea == i) { currentAreaMarker = ScreenElement.BuildRectangle($"Current Area Marker", Parent) .SetSize(2, 2).SetPosition(thisWorldData.areas[i].coords).SetFlickPeriod(0.25f); completedMarkers.Add(currentAreaMarker); } } } }
public override void StartApp() { for (int i = 0; i < 5; i++) { underscores[i] = ScreenElement.BuildRectangle($"Underscore{i}", screenDisplay.transform).SetSize(5, 1).SetPosition(2 + (6 * i), 25); } selectedInputDisplay = ScreenElement.BuildTextBox("Input", screenDisplay.transform, DFont.Big).SetSize(6, 8).SetPosition(14, 8); currentInputDisplay = ScreenElement.BuildTextBox("CurrentCode", screenDisplay.transform, DFont.Big).SetSize(30, 8).SetPosition(2, 17); UpdateScreen(); }
private IEnumerator PADisplayPattern() { gm.LockInput(); keypad = ScreenElement.BuildSprite("Keypad", Parent).SetSize(24, 24).Center().SetSprite(gm.spriteDB.jackpot_pad); keys[0] = ScreenElement.BuildSprite("Key Left", Parent).SetSize(8, 12).SetPosition(4, 10) .SetSprite(gm.spriteDB.jackpot_keys[0]).SetTransparent(true).SetActive(false); keys[1] = ScreenElement.BuildSprite("Key Right", Parent).SetSize(8, 12).SetPosition(20, 10) .SetSprite(gm.spriteDB.jackpot_keys[1]).SetTransparent(true).SetActive(false); keys[2] = ScreenElement.BuildSprite("Key Up", Parent).SetSize(12, 8).SetPosition(10, 4) .SetSprite(gm.spriteDB.jackpot_keys[2]).SetTransparent(true).SetActive(false); keys[3] = ScreenElement.BuildSprite("Key Down", Parent).SetSize(12, 8).SetPosition(10, 20) .SetSprite(gm.spriteDB.jackpot_keys[3]).SetTransparent(true).SetActive(false); SpriteBuilder hourglass = ScreenElement.BuildSprite("Hourglass", Parent).SetSprite(gm.spriteDB.hourglass); yield return(new WaitForSeconds(0.75f)); hourglass.Dispose(); for (int i = 0; i < pattern.Length; i++) { audioMgr.PlaySound(audioMgr.beepLow); keys[pattern[i]].SetActive(true); yield return(new WaitForSeconds(delay)); keys[pattern[i]].SetActive(false); } //Black screen: RectangleBuilder rbBlackScreen = ScreenElement.BuildRectangle("BlackScreen0", Parent).SetSize(32, 32); SpriteBuilder sbLoading = ScreenElement.BuildSprite("Loading", Parent).SetSprite(gm.spriteDB.loading).PlaceOutside(Direction.Up); for (int i = 0; i < 64; i++) { sbLoading.Move(Direction.Down); yield return(new WaitForSeconds((delay * 2f) / 64)); } rbBlackScreen.Dispose(); sbLoading.Dispose(); //Ready the player: keypad.Move(Direction.Down, 4); keys.Move(Direction.Down, 4); tbTime = ScreenElement.BuildTextBox("Time", screenDisplay.transform, DFont.Small) .SetText("TIME").SetSize(18, 5).SetPosition(1, 1); tbTimeCount = ScreenElement.BuildTextBox("TimeCount", screenDisplay.transform, DFont.Small) .SetText(timeRemaining.ToString()).SetSize(10, 5).SetPosition(22, 1); StartCoroutine(TimeCount()); gm.UnlockInput(); }