protected override void MouseCore(MouseHandlerParams _params) { PlayOrContinueButton.Mouse(_params); LevelSelectButton.Mouse(_params); //OptionsButton.Mouse(_params); ExitButton?.Mouse(_params); }
// Loads a level pack and initializes the level choosing screen void InitLevelPack(string packPath) { packPath = levelsPath + packPath; string jsonData = File.ReadAllText(packPath); Debug.Log("Got raw JSON data for " + packPath + " :" + jsonData.Replace("\n", " ").Replace("\r", "")); levelData = JsonUtility.FromJson <LevelDataCollection>(jsonData); // First, clear all levels from the level list. foreach (Transform child in levelSelectPanel.transform) { Destroy(child.gameObject); } for (int idx = 0; idx < levelData.levels.Length; idx++) { LevelData level = levelData.levels[idx]; GameObject newbtn = Instantiate(levelSelectButtonTemplate); // Set up the button corresponding to that level. LevelSelectButton lsb = newbtn.GetComponentInChildren <LevelSelectButton>(); lsb.levelName = level.path; lsb.levelNum = idx; // TODO: replace the button BG with a thumbnail // Set the text related to the level entry: the level name and the level count. Utils.SetText(newbtn.transform.GetChild(0).GetChild(0).gameObject, (idx + 1).ToString()); Utils.SetText(newbtn.transform.GetChild(1).gameObject, level.name); newbtn.transform.SetParent(levelSelectPanel.transform); } }
protected override void TouchCore(ref TouchHandlerParams _params) { PlayOrContinueButton.Touch(ref _params); LevelSelectButton.Touch(ref _params); //OptionsButton.Touch(ref _params); ExitButton?.Touch(ref _params); }
void fillButtons() { bool addAnotherButton = true; int numberOfButtons = 0; if (!filled) { for (int i = 1; i <= GameMaster.MaxLevel; i++) { if (PlayerPrefs.GetInt("Level " + i, 0) == 1 || addAnotherButton) { if (PlayerPrefs.GetInt("Level " + i, 0) == 0) { addAnotherButton = false; } GameObject numberButton = (GameObject)Instantiate(numberButtonPrefab, content.transform); LSB = numberButton.GetComponent <LevelSelectButton> (); LSB.getNumber(i); numberButton.GetComponent <Image>().sprite = Resources.Load <Sprite>(i + "button"); numberButton.name = i.ToString(); print("adding listener to : " + i); numberButton.GetComponent <Button> ().onClick.AddListener(() => onClickLevelSelect(numberButton)); numberOfButtons++; content.GetComponent <RectTransform>().sizeDelta = new Vector2(content.GetComponent <RectTransform>().sizeDelta.x, content.GetComponent <RectTransform>().sizeDelta.y + 120); } } } filled = true; }
/// <summary> /// Create and instantiate a level select button base on item /// </summary> /// <param name="item">The level data</param> /// <returns>The created button</returns> protected LevelSelectButton CreateButton(LevelItem item) { LevelSelectButton button = Instantiate(SelectionPrefab); button.Initialize(item); return(button); }
protected override void MouseCore(MouseHandlerParams _params) { RestartButton.Mouse(_params); LevelSelectButton.Mouse(_params); MainMenuButton.Mouse(_params); ExitButton?.Mouse(_params); BackButton.Mouse(_params); }
void Start() { for (int i = 0; i <= PlaySessionManager.ins.FurthestLevel; i++) { LevelSelectButton newButton = Instantiate(buttonPrefab, buttonContainer); newButton.Initialize(this, i); } }
protected override void TouchCore(ref TouchHandlerParams _params) { RestartButton.Touch(ref _params); LevelSelectButton.Touch(ref _params); MainMenuButton.Touch(ref _params); ExitButton?.Touch(ref _params); BackButton.Touch(ref _params); }
public void Toggle(bool on) { if (on) { ActiveButton = this; } infoBackground.SetActive(on); medalSprite.gameObject.SetActive(on); }
void SaveAll() { GameObject[] allButtons = GameObject.FindGameObjectsWithTag("LevelButton"); foreach (GameObject buttons in allButtons) { LevelSelectButton button = buttons.GetComponent <LevelSelectButton> (); PlayerPrefs.SetInt("Level_" + button.levelText.text, button.unlocked); } }
private void InitializeLevelsList() { for (int i = 0; i < levels.levels.Length; i++) { level l = levels.levels[i]; GameObject levelObject = Instantiate(levelPrefab, levelContentGroup.transform); LevelSelectButton levelSelectButton = levelObject.GetComponent <LevelSelectButton>(); levelSelectButton.level = l; levelSelectButton.Initialize(); } }
void Start() { int levels = SceneManager.sceneCountInBuildSettings - 2; for (int i = 0; i < levels; i++) { LevelSelectButton button = Instantiate(buttonPrefab, transform); button.sceneIndex = i + 2; button.SetText((i + 1).ToString()); button.SetRecordText(); } }
private void AddButtons() { for (int i = 0; i < itemList.Count; i++) { Item item = itemList [i]; GameObject newButton = buttonObjectPool.GetObject(); newButton.transform.SetParent(contentPanel); LevelSelectButton levelButton = newButton.GetComponent <LevelSelectButton> (); levelButton.SetUp(item, this); } }
private void InitLevelSelectButtons() { LevelSelectButton[] existingButtons = GetComponentsInChildren <LevelSelectButton>(); foreach (LevelSelectButton button in existingButtons) { Destroy(button.gameObject); } for (int i = 0; i < levelsCount; i++) { LevelSelectButton levelSelectButton = Instantiate(levelSelectButtonPrefab, transform); levelSelectButton.Initialize(this, i, unlockedLevels.Contains(i)); } }
void Start() { DontDestroyOnLoad(gameObject); foreach (LevelData levelData in levels) { LevelSelectButton button = Instantiate(levelSelectButton, levelSelectButton.transform.parent); button.levelImage.sprite = levelData.levelimage; button.levelNameText.text = levelData.uiName; button.difficultyText.text = levelData.difficulty.ToString(); button.GetComponent <Button>().onClick.AddListener(delegate { SelectLevel(levelData); }); } levelSelectButton.gameObject.SetActive(false); }
// Use this for initialization void Start() { levels = new List <GameObject>(); List <MapAsset> mapAssets = MapManager.Instance.MapAssets; for (int i = 0; i < mapAssets.Count; i++) { GameObject obj = Instantiate(levelSelectButtonPrefab, this.transform); obj.GetComponent <Toggle>().group = this.GetComponent <ToggleGroup>(); LevelSelectButton button = obj.GetComponent <LevelSelectButton>(); button.setMapAsset(mapAssets[i].mapScrenshot, i); levels.Add(obj); } //Update Size this.GetComponent <RectTransform>().sizeDelta = new Vector2(0, 170 * Mathf.CeilToInt(mapAssets.Count / 4f)); }
// Use this for initialization void Start() { LevelSelectButton levelButton = GetComponentInParent <LevelSelectButton>(); //Get Level Number int level = levelButton.LevelIndex; //Look up Score levelScore = PlayerPrefs.GetInt("Level" + level); //Display Score if (levelScore > 1) { ScoreDisplay.text = "High Score: " + levelScore; } else { ScoreDisplay.text = "Unplayed"; } }
/// <summary> /// Instantiate the buttons /// </summary> protected virtual void Start() { if (GameManager.instance == null) { return; } m_LevelList = GameManager.instance.LevelList; if (LayoutGroup == null || SelectionPrefab == null || m_LevelList == null) { return; } int amount = m_LevelList.Count; for (int i = 0; i < amount; i++) { LevelSelectButton button = CreateButton(m_LevelList[i]); button.transform.SetParent(LayoutGroup.transform); button.transform.localScale = Vector3.one; m_Buttons.Add(button.GetComponent <Button>()); } if (RightBuffer != null) { RightBuffer.SetAsLastSibling(); } for (int k = 1; k < m_Buttons.Count - 1; k++) { Button button = m_Buttons[k]; SetupNavigation(button, m_Buttons[k - 1], m_Buttons[k + 1]); } SetupNavigation(m_Buttons[0], BackButton, m_Buttons[1]); SetupNavigation(m_Buttons[m_Buttons.Count - 1], m_Buttons[m_Buttons.Count - 2], null); // Scrolling to do }
void FillList() { foreach (var level in levelList) { GameObject newButton = Instantiate(levelButton) as GameObject; LevelSelectButton button = newButton.GetComponent <LevelSelectButton> (); button.levelText.text = level.levelText; if (PlayerPrefs.GetInt("Level_" + button.levelText.text) == 1) { level.unLocked = 1; level.isInteractable = true; } button.unlocked = level.unLocked; button.GetComponent <Button> ().interactable = level.isInteractable; button.GetComponent <Button> ().onClick.AddListener(() => LoadLevels("Level_" + button.levelText.text)); if (PlayerPrefs.GetInt("Level_" + button.levelText.text + "_done") == 1) { button.Star1.SetActive(true); } if (PlayerPrefs.GetInt("Level_" + button.levelText.text + "_target") == 1) { button.Star2.SetActive(true); } if (PlayerPrefs.GetInt("Level_" + button.levelText.text + "_fullhealth") == 1) { button.Star3.SetActive(true); } newButton.transform.SetParent(spacer); numberOfLevels = numberOfLevels + 1; } SaveAll(); }
protected override void OnOpen() { foreach (LevelSelectButton button in levelButtons) { Destroy(button.gameObject); } levelButtons = new List <LevelSelectButton> (); bool hasFourMaps = currentWorld.maps.Length == 4; string but = hasFourMaps ? "LevelSelectButton" : "LevelSelectButtonSmall"; foreach (Text label in titleLabels) { label.text = currentWorld.displayName.ToUpper(); } string nextKey = ""; for (int i = 0; i < currentWorld.maps.Length; i++) { currentWorld.maps [i].currentIndex = i; currentWorld.maps [i].keyID = nextKey; nextKey = currentWorld.maps [i].name; if (i == currentWorld.maps.Length - 1) { currentWorld.maps [i].isFinalLevel = true; } GameObject obj = Instantiate(Resources.Load(but)) as GameObject; LevelSelectButton button = obj.GetComponent <LevelSelectButton> (); button.Init(currentWorld.maps [i]); button.transform.parent = anchor; if (hasFourMaps) { button.transform.localPosition = new Vector3(i * 200f - 300f, 0f, 0f); } else { button.transform.localPosition = new Vector3(i * 100f - 350f, 25f - (i % 2) * 50f, 0f); } button.transform.localScale = Vector3.one; levelButtons.Add(button); } foreach (Text levelNameLabel in levelNameLabels) { levelNameLabel.text = currentWorld.displayName; } levelInfoBg.CrossFadeAlpha(0f, 0f, true); Image[] images = levelInfoBg.GetComponentsInChildren <Image> (); foreach (Image image in images) { image.CrossFadeAlpha(0f, 0f, true); } Text[] texts = levelInfoBg.GetComponentsInChildren <Text> (); foreach (Text text in texts) { text.CrossFadeAlpha(0f, 0f, true); } }
public void DisplayWorld() { FloatinGraphicController.Instance.ShowScene(currentWorld - 1); // Set the world text switch (currentWorld) { case 1: WorldTitle.text = "1.Plains"; break; case 2: WorldTitle.text = "2.Night Plains"; break; case 3: WorldTitle.text = "3.Ruins"; break; case 4: WorldTitle.text = "4.Night Ruins"; break; case 5: WorldTitle.text = "5.Station"; break; } // Unlock tutorial if (highestLevelUnlocked >= 1) { LevelSelectButtons[0].SetScore(3); TutorialButtonGlow.SetBool("tutdone", true); } else { LevelSelectButtons[0].SetUnlocked(); TutorialButtonGlow.SetBool("tutdone", false); } int baseLevel = (currentWorld - 1) * LEVELS_PER_WORLD; // Set level numbers for (int i = 1; i < LEVELS_PER_WORLD + 1; i++) { LevelSelectButton button = LevelSelectButtons[i]; button.SetLevelNumber(baseLevel + i); } // Unlock levels for (int i = 1; i <= LEVELS_PER_WORLD; i++) { if (baseLevel + i < highestLevelUnlocked) { int score = PlayerPrefs.GetInt(LevelSelectUI.PLAYER_PREFS_HIGH_SCORE_BASE + (baseLevel + i), 0); // print(i.ToString() + " " + score.ToString()); LevelSelectButtons[i].SetScore(score); LevelSelectScores[i].SetScore(score); } else if (baseLevel + i == highestLevelUnlocked) { LevelSelectButtons[i].SetUnlocked(); LevelSelectScores[i].SetScore(0); } else { LevelSelectButtons[i].SetLocked(); LevelSelectScores[i].SetScore(-1); } } // Set World Navigation Buttons DownWorldButton.SetUnlocked(); UpWorldButton.SetUnlocked(); }
private void CreateUi() { _uiContainer.Clear(); Vector2 screenSize = base.Game.WindowSize; // Full map playthrough button LevelSelectButton fullMapButton = new LevelSelectButton("Full map", _currentLevelScore.MapBestTime, new RectangleF(screenSize.X / 2f - 96, 144, 96 * 2, 48)); fullMapButton.Click += (o, e) => { LoadingScreen.Load(base.ScreenManager, false, new GameplayScreen(_files[_currentLevelIndex], GameplayMode.FullRun)); }; _uiContainer.Add(fullMapButton); if (_currentLevelScore.StageCount > 1) { for (int i = 0; i < _currentLevelScore.StageCount; i++) { int x = i % 4; int y = i / 4; int stageIndex = i + 1; LevelSelectButton stageButton = new LevelSelectButton("Stage " + stageIndex, _currentLevelScore.StageBestTimes[i], new RectangleF(80 + screenSize.X / 4 * x - 64, screenSize.Y / 2 + 64 + y * 112 - 24, 64 * 2, 24 * 2)); stageButton.Click += (o, e) => { LoadingScreen.Load(base.ScreenManager, false, new GameplayScreen(_files[_currentLevelIndex], stageIndex - 1)); }; _uiContainer.Add(stageButton); } } // Arrows const int Scale = 4; Texture2D arrowTexture = base.ContentProvider.DefaultManager.LoadTexture("Arrow"); Vector2 Size = new Vector2(arrowTexture.Width, arrowTexture.Height) * Scale; // Previous TexturedButton previousButton = new TexturedButton(new RectangleF(32, 32, Size.X, Size.Y), new Sprite(arrowTexture, false) {Scale = new Vector2(Scale), SpriteEffects = SpriteEffects.FlipHorizontally }); previousButton.Enabled = _files.Length > 1; previousButton.Sprite.Tint = previousButton.Enabled ? Color.White : Color.Gray; previousButton.Click += (o, e) => { _currentLevelIndex--; if (_currentLevelIndex < 0) { _currentLevelIndex = _files.Length - 1; } _reloadLevel = true; }; _uiContainer.Add(previousButton); // Next TexturedButton nextButton = new TexturedButton(new RectangleF(screenSize.X - Size.X - 32, 32, Size.X, Size.Y), new Sprite(arrowTexture, false) { Scale = new Vector2(Scale) }); nextButton.Enabled = _files.Length > 1; nextButton.Sprite.Tint = previousButton.Enabled ? Color.White : Color.Gray; nextButton.Click += (o, e) => { _currentLevelIndex++; if (_currentLevelIndex >= _files.Length) { _currentLevelIndex = 0; } _reloadLevel = true; }; _uiContainer.Add(nextButton); }
public void SelectStage(int stageNumber) { this.RemoveTableChildren(); this.LevelSelectTable.Reposition(); // Fudge Factor so it doesn't use up the whole space, just most of it const float FudgeFactor = .9f; // Set the number of columns int rows = this.LevelsPerStage / this.NumberOfColumns; this.LevelSelectTable.columns = this.NumberOfColumns; // Set the padding this.LevelSelectTable.padding = new Vector2(this.Padding, this.Padding); // Calculate what is available for width and height float columnPadding = ((this.NumberOfColumns + 1) * this.Padding); float rowPadding = ((rows + 1) * this.Padding); float availableWidth = (this.LevelSelectTableLimits.localSize.x * FudgeFactor) - columnPadding; float availableHeight = (this.LevelSelectTableLimits.localSize.y * FudgeFactor) - rowPadding; // Choose a button size based on the smaller of the two float width = availableWidth / this.NumberOfColumns; float height = availableHeight / rows; float buttonSize = Math.Min(width, height); for (int i = 1; i <= this.LevelsPerStage; i++) { GameObject item = NGUITools.AddChild(this.LevelSelectTable.gameObject, this.LevelSelectButton); UIWidget uiWidget = item.GetComponent <UIWidget>(); if (uiWidget != null) { uiWidget.SetDimensions((int)buttonSize, (int)buttonSize); } LevelSelectButton levelSelectButton = item.GetComponent <LevelSelectButton>(); if (levelSelectButton != null) { int level = ((stageNumber - 1) * this.LevelsPerStage) + i; levelSelectButton.SetLevel(this.GameTable, level); foreach (ActivateOnClick levelSelectActivateOnClick in levelSelectButton.ActivateOnClick) { if (levelSelectActivateOnClick != null) { levelSelectActivateOnClick.ActivateTarget = this.GameBoard; levelSelectActivateOnClick.DeactivateTarget = this.gameObject; } } } this.LevelSelectTable.children.Add(item.transform); } // Center the table float heightOffset = (rowPadding + this.Padding + (buttonSize * rows)) / 2; float widthOffset = -(columnPadding + this.Padding + (buttonSize * this.NumberOfColumns)) / 2; this.LevelSelectTable.transform.localPosition = new Vector3(widthOffset, heightOffset + this.SelectLevelVerticalOffset); this.LevelSelectTable.enabled = true; this.LevelSelectTable.repositionNow = true; }