Level generateRandomLevel(int levelId) { List <string> usedSegment = new List <string>(); var values = Enum.GetValues(typeof(MonsterInputType)); MonsterInputType randomType = (MonsterInputType)(values.GetValue(UnityEngine.Random.Range(0, values.Length))); Level level = new Level(); level.levelId = levelId; level.lettersGroup = 1; level.CollectableMonster = null; level.monsterInputType = randomType; level.hideCallout = 1; level.shuffleSegment = false; level.SegmentTime = 13f; level.Segments = new Segment[5]; Level[] filtedLevels = getFilteredLevels(randomType); int i = 0; while (i < 5) { Level l = filtedLevels[UnityEngine.Random.Range(0, filtedLevels.Length)]; if (l != null) { int sId = UnityEngine.Random.Range(0, l.Segments.Length); string sKey = l.levelId + "_" + sId.ToString(); if (!usedSegment.Contains(sKey)) { Segment s = l.Segments[sId]; if (s != null) { usedSegment.Add(sKey); level.Segments[i] = s; level.StoneType = l.StoneType; i++; } } } } level.LoadTemplete(GameAssets.Instance.DefaultLevelTempletes); return(level); }
public void Init() { requiredLetterIndex = 0; // text.color = GameplayController.Instance.CurrentLevel.BubbleLetterFontColorBold; // text.GetComponent<Outline>().effectColor = GameplayController.Instance.CurrentLevel.BubbleLetterFontOutlineColorDefault; mMonsterInputType = GameplayController.Instance.CurrentLevel.monsterInputType; if (mMonsterInputType == MonsterInputType.LetterInWord || mMonsterInputType == MonsterInputType.Word) { text.fontSize = FontSizeWord; } else { text.fontSize = FontSizeLetter; } transform.SetParent(GameObject.Find("Panel - Monsters").transform); GameObject location = GameplayController.Instance.MonsterHoleButton.gameObject; //GameObject.Find("MonsterHoleButton"); // Delete by Tzahi // transform.position = location.transform.position; // Added by Tzahi transform.localPosition = new Vector2(); holeButtonController = location.GetComponent <HoleButtonController>(); holeButtonController.onPointerEnter += OnPointerEnter; holeButtonController.onPointerDown += OnPointerDown; holeButtonController.onPointerExit += OnPointerExit; holeButtonController.onPointerUp += OnPointerUp; holeButtonController.onPointerClick += HoleButtonController_onPointerClick; // Delete by Tzahi // Model = GameplayController.Instance.CurrentLevel.HoleMonster; ThoughtBubbleAnimation(); SetMonsterState(MonsterState.Idle); //SetAnimation (ANIMATION_IDLE); //PlayMouthAnimation (MouthIdleSprites); //PlayEyeAnimation (EyeIdleSprites); }
Level[] getFilteredLevels(MonsterInputType type) { List <Level> filtedLevels = new List <Level>(); foreach (Level lvl in Levels) { if ( lvl.Segments != null && lvl.monsterInputType == type && lvl.lettersGroup <= UsersController.Instance.userData().LastLetterGroup ) { filtedLevels.Add(lvl); } } return(filtedLevels.ToArray()); }