public void Draw(bool areAllLevelsUnlocked = false) { //TODO: I think this class knows too much for its own good bool isLocked = levelsManager.IsLevelLocked(levelIndex) && !areAllLevelsUnlocked; lockedImage.gameObject.SetActive(isLocked); starsPanel.gameObject.SetActive(!isLocked); if (!isLocked) { System.UInt32?savedScore = levelsManager.GetLevelSavedScore(levelIndex); LevelStates? savedState = levelsManager.GetLevelSavedState(levelIndex); if (savedScore == null || savedState == null) { Debug.LogError("Something's wrong!"); return; } starsPanel.sprite = (savedState == LevelStates.WON_ON_FIRST_TRY ? SpriteHolder.FirstTryStarsPanel : SpriteHolder.NeutralStarsPanel); starsPanel.SetNativeSize(); Level level = levelsManager.GetLevel(levelIndex); indexText.text = levelIndex.ToString(); // text.text = level.DisplayName + "\n SCORE " + savedScore.ToString() + "\n"; starsImage.sprite = SpriteHolder.GetStarsSprite(level.GetNumberOfStars((int)savedScore)); } }
protected override void OnStartShowing() { UpdateProgress(); levelText.SetText($"Level: {LevelsManager.GetLevel()}"); holder.SetPositionY(500); progress.SetPositionY(-400); }
private void UpdateTexts() { hpText.SetText($"xp: {HPManager.GetHP()}"); levelText.SetText($"level: {LevelsManager.GetLevel()}"); float hpWidth = hpText.GetTextComponent().preferredWidth; float levelWidth = levelText.GetTextComponent().preferredWidth; float fullSize = hpWidth + knobWidth + levelWidth; float hpPos = -fullSize / 2 + hpWidth / 2; float knobPos = hpPos + hpWidth / 2 + knobWidth / 2; float levelPos = knobPos + knobWidth / 2 + levelWidth / 2; hpText.SetPositionX(hpPos); knob.SetPositionX(knobPos); levelText.SetPositionX(levelPos); }