Esempio n. 1
0
    void Layout()
    {
        wyrds = new List <Wyrd>();

        GameObject go;
        Letter     lett;
        string     word;
        Vector3    pos;
        float      left        = 0;
        float      columnWidth = 3;
        char       c;
        Color      col;
        Wyrd       wyrd;

        int numRows = Mathf.RoundToInt(wordArea.height / letterSize);

        for (int i = 0; i < currLevel.subWords.Count; i++)
        {
            wyrd = new Wyrd();
            word = currLevel.subWords[i];

            columnWidth = Mathf.Max(columnWidth, word.Length);

            for (int j = 0; j < word.Length; j++)
            {
                c        = word[j];
                go       = Instantiate(prefabLetter) as GameObject;
                lett     = go.GetComponent <Letter>();
                lett.c   = c;
                pos      = new Vector3(wordArea.x + left + j * letterSize, wordArea.y, 0);
                pos.y   -= (i % numRows) * letterSize;
                lett.pos = pos;
                go.transform.localScale = Vector3.one * letterSize;
                wyrd.Add(lett);
            }

            if (showAllWyrds)
            {
                wyrd.visible = true;
            }

            wyrds.Add(wyrd);

            if (1 % numRows == numRows - 1)
            {
                left += (columnWidth + .5f) * letterSize;
            }
        }
    }
Esempio n. 2
0
	void Layout(){


		wyrds = new List<Wyrd> ();
		GameObject go;
		Letter lett;
		string word;
		Vector3 pos;
		float left = 0;
		float columnWidth = 3;
		char c;
		Color col;
		Wyrd wyrd;

		int numRows = Mathf.RoundToInt (wordArea.height / letterSize);

		for (int i=0; i<currLevel.subWords.Count; i++){
			wyrd = new Wyrd();
			word = currLevel.subWords[i];

			columnWidth = Mathf.Max(columnWidth,word.Length);

			for (int j=0; j<word.Length; j++){
				c = word[j];
				go = Instantiate(prefabLetter) as GameObject;
				lett = go.GetComponent<Letter>();
				lett.c = c;

				pos = new Vector3(wordArea.x+left+j*letterSize,wordArea.y,0);

				pos.y -= (i % numRows) * letterSize;
				lett.pos = pos;
				go.transform.localScale = Vector3.one * letterSize;
				wyrd.Add (lett);
			}
			if (showAllWyrds) wyrd.visable = true;
			wyrds.Add (wyrd);

			if (i % numRows == numRows - 1){
				left += (columnWidth + 0.5f) * letterSize;
			}
		}


		bigLetters = new List<Letter>();
		bigLettersActive = new List<Letter> ();

		for (int i=0; i<currLevel.word.Length; i++) {

			c = currLevel.word[i];
			go = Instantiate (prefabLetter) as GameObject;
			lett = go.GetComponent<Letter>();
			lett.c = c;
			go.transform.localScale = Vector3.one * bigLetterSize;

			pos = new Vector3 (0, -100, 0);
			lett.pos = pos;
			col = bigColorDim;
			lett.color = col;
			lett.visable = true;
			lett.big = true;
			bigLetters.Add (lett);
		}
		bigLetters = ShuffleLetters (bigLetters);
		ArrangeBigLetters ();
		mode = GameMode.inLevel;
	}
Esempio n. 3
0
    void Layout()
    {
        wyrds = new List <Wyrd>();
        GameObject go;
        Letter     lett;
        string     word;
        Vector3    pos;
        float      left        = 0;
        float      columnWidth = 3;
        char       c;
        Color      col;
        Wyrd       wyrd;

        int numRows = Mathf.RoundToInt(wordArea.height / letterSize);

        for (int i = 0; i < currLevel.subWords.Count; i++)
        {
            wyrd        = new Wyrd();
            word        = currLevel.subWords[i];
            columnWidth = Mathf.Max(columnWidth, word.Length);
            for (int j = 0; j < word.Length; j++)
            {
                c  = word[j];
                go = Instantiate(prefabLetter) as GameObject;
                go.transform.SetParent(letterAnchor);
                lett                    = go.GetComponent <Letter>();
                lett.c                  = c;
                pos                     = new Vector3(wordArea.x + left + j * letterSize, wordArea.y);
                pos.y                  -= (i % numRows) * letterSize;
                lett.posImmediate       = pos + Vector3.up * (20 + i % numRows);
                lett.pos                = pos;
                lett.timeStart          = Time.time + i * 0.05f;
                go.transform.localScale = Vector3.one * letterSize;
                wyrd.Add(lett);
            }
            if (showAllWyrds)
            {
                wyrd.visible = true;
            }
            wyrd.color = wyrdPalette[word.Length - WordList.WORD_LENGTH_MIN];
            wyrds.Add(wyrd);
            if (i % numRows == numRows - 1)
            {
                left += (columnWidth + 0.5f) * letterSize;
            }
        }

        bigLetters       = new List <Letter>();
        bigLettersActive = new List <Letter>();

        for (int i = 0; i < currLevel.word.Length; i++)
        {
            // This is similar to the process for a normal Letter
            c  = currLevel.word[i];
            go = Instantiate(prefabLetter) as GameObject;
            go.transform.SetParent(bigLetterAnchor);
            lett   = go.GetComponent <Letter>();
            lett.c = c;
            go.transform.localScale = Vector3.one * bigLetterSize;

            // Set the initial position of the big Letters below screen
            pos = new Vector3(0, -100, 0);
            lett.posImmediate = pos;
            lett.pos          = pos; // You'll add more code around this line later
            lett.timeStart    = Time.time + currLevel.subWords.Count * 0.05f;
            lett.easingCuve   = Easing.Sin + "-0.18";
            col          = bigColorDim;
            lett.color   = col;
            lett.visible = true; // This is always true for big letters
            lett.big     = true;
            bigLetters.Add(lett);
        }
        // Shuffle the big letters
        bigLetters = ShuffleLetters(bigLetters);
        // Arrange them on screen
        ArrangeBigLetters();

        // Set the mode to be in-game
        mode = GameMode.inLevel;
    }
Esempio n. 4
0
    void Layout()
    {
        // Place the letters for each subword of currLevel on screen
        wyrds = new List <Wyrd> ();

        // Declare a lot of variables that will be used in this method
        GameObject go;
        Letter     lett;
        string     word;
        Vector3    pos;
        float      left        = 0;
        float      columnWidth = 3;
        char       c;
        Color      col;
        Wyrd       wyrd;

        // Determine how many rows of Letters will fit on screen
        int numRows = Mathf.RoundToInt(wordArea.height / letterSize);

        // Make a Wyrd of each level.subWord
        for (int i = 0; i < currLevel.subWords.Count; i++)
        {
            wyrd = new Wyrd();
            word = currLevel.subWords [i];

            // if the word is longer than columnWidth, expand it
            columnWidth = Mathf.Max(columnWidth, word.Length);

            // Instantiate a PrefabLetter for each letter of the word
            for (int j = 0; j < word.Length; j++)
            {
                c      = word [j];            // Grab the jth char of the word
                go     = Instantiate(prefabLetter) as GameObject;
                lett   = go.GetComponent <Letter> ();
                lett.c = c;                 // Set the c of the Letter
                // Position the Letter
                pos = new Vector3(wordArea.x + left + j * letterSize, wordArea.y, 0);
                // The % here makes multiple columns line up
                pos.y -= (i % numRows) * letterSize;

                lett.position = pos + Vector3.up * (20 + i % numRows);
                // Then set the pos for it to interpolate to
                lett.pos = pos;
                // Increment lett.timeStart to move wyrds at different times
                lett.timeStart          = Time.time + i * 0.05f;
                lett.pos                = pos;
                go.transform.localScale = Vector3.one * letterSize;
                wyrd.Add(lett);
            }

            if (showAllWyrds)
            {
                wyrd.visible = true;                           // This line is for testing
            }
            wyrd.color = wyrdPalette [word.Length - WordList.S.wordLengthMin];

            wyrds.Add(wyrd);

            // If we've gotten to the numRows(th) row, start a new column
            if (i % numRows == numRows - 1)
            {
                left += (columnWidth + 0.5f) * letterSize;
            }
        }
        // Place the big letters
        // Initialize the List<>s for big Letters
        bigLetters       = new List <Letter>();
        bigLettersActive = new List <Letter>();

        // Create a big Letter for each letter in the target word
        for (int i = 0; i < currLevel.word.Length; i++)
        {
            // This is similar to the process for a normal Letter
            c      = currLevel.word[i];
            go     = Instantiate(prefabLetter) as GameObject;
            lett   = go.GetComponent <Letter>();
            lett.c = c;
            go.transform.localScale = Vector3.one * bigLetterSize;

            // Set the initial position of the big Letters below screen
            pos      = new Vector3(0, -100, 0);
            lett.pos = pos;

            // Increment lett.timeStart to have big Letters come in last
            lett.timeStart   = Time.time + currLevel.subWords.Count * 0.05f;
            lett.easingCurve = Easing.Sin + "-0.18";                       // Bouncy easing
            col          = bigColorDim;
            lett.color   = col;
            lett.visible = true;             // This is always true for
            lett.big     = true;
            bigLetters.Add(lett);
        }
        // Shuffle the big letters
        bigLetters = ShuffleLetters(bigLetters);
        // Arrange them on screen
        ArrangeBigLetters();

        // Set the mode to be in-game
        mode = GameMode.inLevel;
    }
Esempio n. 5
0
    void Layout()
    {
        wyrds = new List <Wyrd>();

        GameObject go;
        Letter     lett;
        string     word;
        Vector3    pos;
        float      left        = 0;
        float      columnWidth = 3;
        char       c;
        Color      col;
        Wyrd       wyrd;

        int numRows = Mathf.RoundToInt(wordArea.height / letterSize);

        // Make a Wyrd of each level.subWord
        for (int i = 0; i < currLevel.subWords.Count; i++)
        {
            wyrd = new Wyrd();
            word = currLevel.subWords[i];

            // if the word is longer than columnWidth, expand it
            columnWidth = Mathf.Max(columnWidth, word.Length);

            // Instantiate a PrefabLetter for each letter of the word
            for (int j = 0; j < word.Length; j++)
            {
                c  = word[j]; // Grab the jth char of the word
                go = Instantiate <GameObject>(prefabLetter);
                go.transform.SetParent(letterAnchor);
                lett   = go.GetComponent <Letter>();
                lett.c = c; // Set the c of the Letter


                // Position the Letter
                pos = new Vector3(wordArea.x + left + j * letterSize, wordArea.y, 0);


                // The % here makes multiple columns line up
                pos.y -= (i % numRows) * letterSize;


                lett.pos = pos;    // You'll add more code around this line later


                go.transform.localScale = Vector3.one * letterSize;


                wyrd.Add(lett);
            }

            if (showAllWyrds)
            {
                wyrd.visible = true;
            }

            wyrds.Add(wyrd);

            // If we've gotten to the numRows(th) row, start a new column
            if (i % numRows == numRows - 1)
            {
                left += (columnWidth + 0.5f) * letterSize;
            }
        }

        bigLetters       = new List <Letter>();
        bigLettersActive = new List <Letter>();

        for (int i = 0; i < currLevel.word.Length; i++)
        {
            c  = currLevel.word[i];
            go = Instantiate <GameObject>(prefabLetter);
            go.transform.SetParent(bigLetterAnchor);
            lett   = go.GetComponent <Letter>();
            lett.c = c;
            go.transform.localScale = Vector3.one * bigLetterSize;

            // Set the initial position of the big Letters below screen
            pos      = new Vector3(0, -100, 0);
            lett.pos = pos;        // You'll add more code around this line later

            col          = bigColorDim;
            lett.color   = col;
            lett.visible = true; // This is always true for big letters
            lett.big     = true;
            bigLetters.Add(lett);
        }
        bigLetters = ShuffleLetters(bigLetters);
        // Arrange them on screen
        ArrangeBigLetters();

        // Set the mode to be in-game
        mode = GameMode.inLevel;
    }
Esempio n. 6
0
    void Layout()
    {
        wyrds = new List <Wyrd>();

        GameObject go;
        Letter     lett;
        string     word;
        Vector3    pos;
        float      left        = 0;
        float      columnWidth = 3;
        char       c;
        Color      col;
        Wyrd       wyrd;

        int numRows = Mathf.RoundToInt(wordArea.height / letterSize);

        for (int i = 0; i < currLevel.subWords.Count; i++)
        {
            word = currLevel.subWords[i];
            wyrd = new Wyrd();

            columnWidth = Mathf.Max(columnWidth, word.Length);

            for (int j = 0; j < word.Length; j++)
            {
                c  = word[j];
                go = Instantiate <GameObject>(prefabLetter);
                go.transform.SetParent(letterAnchor);

                lett   = go.GetComponent <Letter>();
                lett.c = c;

                pos = new Vector3(wordArea.x + left + j * letterSize, wordArea.y, 0);

                pos.y -= (i % numRows) * letterSize;

                lett.posImmediate = pos + Vector3.up * (20 + i % numRows);

                lett.pos = pos;

                lett.timeStart = Time.time + i * 0.05f;

                go.transform.localScale = Vector3.one * letterSize;
                wyrd.Add(lett);
            }


            if (showAllWyrds)
            {
                wyrd.visible = true;
            }

            wyrd.Color = wyrdPalette[word.Length - WordList.WORD_LENGTH_MIN];

            wyrds.Add(wyrd);

            if (i % numRows == numRows - 1)
            {
                left += (columnWidth + .5f) * letterSize;
            }
        }
        levelThreshold = wyrds.Count > 1 ? wyrds.Count * 2 : 1;

        bigLetters       = new List <Letter>();
        bigLettersActive = new List <Letter>();

        for (int i = 0; i < currLevel.word.Length; i++)
        {
            c  = currLevel.word[i];
            go = Instantiate <GameObject>(prefabLetter);
            go.transform.SetParent(bigLetterAnchor);
            lett   = go.GetComponent <Letter>();
            lett.c = c;
            go.transform.localScale = Vector3.one * bigLetterSize;

            pos = new Vector3(0, -100, -0);
            lett.posImmediate = pos;
            lett.pos          = pos;

            lett.timeStart  = Time.time + currLevel.subWords.Count * 0.05f;
            lett.easingCuve = Easing.Sin + "-0.18";

            col          = bigColorDim;
            lett.color   = col;
            lett.visible = true;
            lett.big     = true;
            bigLetters.Add(lett);
        }
        bigLetters = ShuffleLetters(bigLetters);
        ArrangeBigLetters();

        mode = GameMode.inLevel;
    }
Esempio n. 7
0
	}//end of SubWordSearchComplete()

	void Layout() {
		wyrds = new List<Wyrd>();

		GameObject go;
		Letter lett;
		string word;
		Vector3 pos;
		float left = 0;
		float columnWidth = 3;
		char c;
		Color col;
		Wyrd wyrd;

		int numRows = Mathf.RoundToInt(wordArea.height/letterSize);

		for (int i=0; i<currLevel.subWords.Count; i++) {
			wyrd = new Wyrd();
			word = currLevel.subWords[i];

			columnWidth = Mathf.Max( columnWidth, word.Length );

			for (int j=0; j<word.Length; j++) {
				c = word[j]; 
				go = Instantiate(prefabLetter) as GameObject;
				lett = go.GetComponent<Letter>();
				lett.c = c; 
				pos = new Vector3(wordArea.x+left+j*letterSize, wordArea.y, 0);
				lett.timeStart = Time.time + i*0.05f;
				pos.y -= (i%numRows)*letterSize;
				lett.position = pos+Vector3.up*(20+i%numRows);
				lett.pos = pos;
				lett.timeStart = Time.time + i*0.05f;
				go.transform.localScale = Vector3.one*letterSize;
				wyrd.Add(lett);
			}//end of for j loop

			if (showAllWyrds) wyrd.visible = true;

			wyrd.color = wyrdPalette[word.Length-WordList.S.wordLengthMin];
			wyrds.Add(wyrd);

			if (i%numRows == numRows-1) left += (columnWidth+0.5f)*letterSize;
		}//end of for i loop

		bigLetters = new List<Letter>();
		bigLettersActive = new List<Letter>();

		for (int i=0; i<currLevel.word.Length; i++) {
			c = currLevel.word[i];
			go = Instantiate(prefabLetter) as GameObject;
			lett = go.GetComponent<Letter>();
			lett.c = c;
			go.transform.localScale = Vector3.one*bigLetterSize;
			pos = new Vector3( 0, -100, 0 );
			lett.position = pos;
			lett.timeStart = Time.time + currLevel.subWords.Count*0.05f;
			lett.easingCurve = Easing.Sin+"-0.18"; 
			col = bigColorDim;
			lett.color = col;
			lett.visible = true; 
			lett.big = true;
			bigLetters.Add(lett);
		}//end of for loop

		bigLetters = ShuffleLetters(bigLetters);
		ArrangeBigLetters();
		mode = GameMode.inLevel;
	}//end of Layout()
Esempio n. 8
0
    void Layout()
    {
        // Распологаем буквы каждого подходящего слова на экран
        wyrds = new List <Wyrd>();

        // Объявляем много переменных которые будут использованны в этом методе
        GameObject go;
        Letter     lett;
        string     word;
        Vector3    pos;
        float      left        = 0;
        float      columnWidth = 3;
        char       c;
        Color      col;
        Wyrd       wyrd;

        // Считаем как много строчек из букв вместится на экране
        int numRows = Mathf.RoundToInt(wordArea.height / letterSize);

        // Создаём Wyrd для каждого подходящего слова в level.subWords
        for (int i = 0; i < currLevel.subWords.Count; i++)
        {
            wyrd = new Wyrd();
            word = currLevel.subWords[i];

            // Если слово длиннее чем columnWidth, расширяем его
            columnWidth = Mathf.Max(columnWidth, word.Length);

            // Создаёт префаб буквы для каждой буквы в этом слове
            for (int j = 0; j < word.Length; j++)
            {
                c      = word[j]; // Выбираем букву в слове
                go     = Instantiate(prefabLetter) as GameObject;
                lett   = go.GetComponent <Letter>();
                lett.c = c; // Задаём отображаемую букву
                // Ставим букву
                pos = new Vector3(wordArea.x + left + j * letterSize, wordArea.y, 0);
                // % Выстраивает несколько столбцов в линию
                pos.y -= (i % numRows) * letterSize;

                // Двигаем букву сразу в позицию над экраном
                lett.position = pos + Vector3.up * (20 + i % numRows);
                // Задаём позицию для перехода
                lett.pos = pos;
                // Увеличиваем  lett.timeStart чтобы двигать слова в разное время
                lett.timeStart = Time.time + i * 0.05f;

                go.transform.localScale = Vector3.one * letterSize;
                wyrd.Add(lett); // Добавляем сразу и в слово и в список Wyrd
            }

            if (showAllWyrds)
            {
                wyrd.visible = true;                    // Эта линия для тестирования
            }
            // Раскрашиваем слово в зависимости от длинны
            wyrd.color = wyrdPalette[word.Length - WordList.S.wordLengthMin];

            wyrds.Add(wyrd);

            // Если мы уже достигли нужного кол-ва строчек, начинаем новый столбец
            if (i % numRows == numRows - 1)
            {
                left += (columnWidth + 0.5f) * letterSize;
            }
        }

        // Распологаем большие буквы
        // Создаём для них списки
        bigLetters       = new List <Letter>();
        bigLettersActive = new List <Letter>();

        // Создаём большую букву для каждой буквы в целевом слове
        for (int i = 0; i < currLevel.word.Length; i++)
        {
            // Похоже на процесс с обычными буквами
            c      = currLevel.word[i];
            go     = Instantiate(prefabLetter) as GameObject;
            lett   = go.GetComponent <Letter>();
            lett.c = c;
            go.transform.localScale = Vector3.one * bigLetterSize;

            // Начальная позиция под экраном
            lett.position = new Vector3(0, -100, 0);
            pos           = new Vector3(0, -100, 0);
            lett.pos      = pos;

            // Повышаем lett.timeStart чтобы большие буквы пришли последними
            lett.timeStart   = Time.time + currLevel.subWords.Count * 0.05f;
            lett.easingCurve = Easing.Sin + "-0.18";    // Качающее смягчение

            col          = bigColorDim;
            lett.color   = col;
            lett.visible = true;    // Всегда правда для больших букв
            lett.big     = true;
            bigLetters.Add(lett);
        }
        // Мешаем большие буквы
        bigLetters = ShuffleLetters(bigLetters);
        // Распологаем их на экране
        ArrangeBigLetters();

        // Задаём статус как "в игре"
        mode = GameMode.inLevel;
    }
Esempio n. 9
0
    void Layout()
    {
        wyrds = new List <Wyrd>();

        GameObject go;
        Letter     lett;
        string     word;
        Vector3    pos;
        float      left        = 0;
        float      columnWidth = 3;
        char       c;
        Color      col;
        Wyrd       wyrd;

        int numRows = Mathf.RoundToInt(wordArea.height / letterSize);

        for (int i = 0; i < currLevel.subWords.Count; i++)
        {
            wyrd = new Wyrd();
            word = currLevel.subWords[i];

            columnWidth = Mathf.Max(columnWidth, word.Length);

            for (int j = 0; j < word.Length; j++)
            {
                c  = word[j];
                go = Instantiate <GameObject>(prefabLetter);
                go.transform.SetParent(letterAnchor);
                lett   = go.GetComponent <Letter>();
                lett.c = c;

                pos = new Vector3(wordArea.x + left + j * letterSize, wordArea.y, 0);

                pos.y -= (i % numRows) * letterSize;
                // Move the lett immediately to a position above the screen
                lett.posImmediate = pos + Vector3.up * (20 + i % numRows);
                // Then set the pos for it to interpolate to
                lett.pos = pos;
                // Increment lett.timeStart to move wyrds at different times
                lett.timeStart = Time.time + i * 0.05f;

                go.transform.localScale = Vector3.one * letterSize;

                wyrd.Add(lett);
            }
            if (showAllWyrds)
            {
                wyrd.visible = true;
            }
            // Color the wyrd based on length
            wyrd.color = wyrdPalette[word.Length - WordList.S.wordLengthMin];

            wyrds.Add(wyrd);

            if (i % numRows == numRows - 1)
            {
                left += (columnWidth + 0.5f) * letterSize;
            }
        }
        bigLetters       = new List <Letter>();
        bigLettersActive = new List <Letter>();

        for (int i = 0; i < currLevel.word.Length; i++)
        {
            c  = currLevel.word[i];
            go = Instantiate <GameObject>(prefabLetter);
            go.transform.SetParent(bigLetterAnchor);
            lett   = go.GetComponent <Letter>();
            lett.c = c;
            go.transform.localScale = Vector3.one * bigLetterSize;

            pos = new Vector3(0, -100, 0);
            lett.posImmediate = pos;
            lett.pos          = pos;

            // Increment lett.timeStart to have big Letters come in last
            lett.timeStart   = Time.time + currLevel.subWords.Count * 0.05f;
            lett.easingCurve = Easing.Sin + "-0.18"; // Bouncy easing

            col          = bigColorDim;
            lett.color   = col;
            lett.visible = true;
            lett.big     = true;
            bigLetters.Add(lett);
        }
        bigLetters = ShuffleLetters(bigLetters);

        ArrangeBigLetters();

        mode = GameMode.inLevel;
    }
Esempio n. 10
0
    void Layout()
    {
        //place the letters for each subword of currLevel on screen
        wyrds = new List<Wyrd> ();

        //declare a lot of variables that will be used in this method
        GameObject go;
        Letter lett;
        string word;
        Vector3 pos;
        float left = 0;
        float columnWidth = 3;
        char c;
        Color col;
        Wyrd wyrd;

        //determine how many rows of letters will fit on screen
        int numRows = Mathf.RoundToInt (wordArea.height / letterSize);

        //make a Wyrd of each level.subWord
        for (int i=0; i<currLevel.subWords.Count; i++) {
            wyrd = new Wyrd ();
            word = currLevel.subWords [i];

            //if the word is longer than columnWidth, expand it
            columnWidth = Mathf.Max (columnWidth, word.Length);

            //instantiate a prefabLetter for each letter of the word
            for (int j=0; j<word.Length; j++) {
                c = word [j]; //grab the jth char of the word
                go = Instantiate (prefabLetter) as GameObject;
                lett = go.GetComponent<Letter> ();
                lett.c = c; //set the c of the Letter
                //position the Letter
                pos = new Vector3 (wordArea.x + left + j * letterSize, wordArea.y, 0);
                //the modulus here makes multiple columns line up
                pos.y -= (i % numRows) * letterSize;

                //move the lett immediately to a position above the screen
                lett.position = pos+Vector3.up*(20+i%numRows);
                //then set the pos for it to interpolate to
                lett.pos = pos;
                //increment lett.timeStart to move wyrds at different times
                lett.timeStart = Time.time + i*0.05f;

                go.transform.localScale = Vector3.one * letterSize;
                wyrd.Add (lett);
            }

            if (showAllWyrds)
                wyrd.visible = true; //this line is for testing

            //color the wyrd based on length
            wyrd.color = wyrdPalette[word.Length-WordList.S.wordLengthMin];

            wyrds.Add (wyrd);

            //if we've gotten to the numRows(th) row, start a new column
            if (i % numRows == numRows - 1) {
                left += (columnWidth + 0.5f) * letterSize;
            }
        }

        //place the big letters
        //initialize the List<>s for big letters
        bigLetters = new List<Letter> ();
        bigLettersActive = new List<Letter> ();

        //create a big letter for each letter in the target word
        for (int i = 0; i<currLevel.word.Length; i++) {
            //this is similar to the process for a normal letter
            c = currLevel.word [i];
            go = Instantiate (prefabLetter) as GameObject;
            lett = go.GetComponent<Letter> ();
            lett.c = c;
            go.transform.localScale = Vector3.one * bigLetterSize;

            //set the initial position of the big letters below screen
            pos = new Vector3 (0, -100, 0);
            lett.pos = pos;

            //added in, to ease up from the bottom of the screen
            lett.position = pos+Vector3.up*(20+i%numRows);
            //increment lett.timestart to have big letters come in last
            lett.timeStart = Time.time + currLevel.subWords.Count*0.05f;
            lett.easingCurve = Easing.Sin+"-0.18"; //bouncy easing

            col = bigColorDim;
            lett.color = col;
            lett.visible = true;
            lett.big = true;
            bigLetters.Add (lett);
        }
        //shuffle the big Letters
        bigLetters = ShuffleLetters (bigLetters);
        //arrange them on screen
        ArrangeBigLetters ();

        //set the mode to be in-game
        mode = GameMode.inLevel;
    }
Esempio n. 11
0
    void Layout()
    {
        wyrds = new List <Wyrd>();

        GameObject go;
        Letter     lett;
        string     word;
        Vector3    pos;
        float      left        = 0;
        float      columnWidth = 3;
        char       c;
        Color      col;
        Wyrd       wyrd;

        int numRows = Mathf.RoundToInt(wordArea.height / letterSize);

        //make a Wyrd of each level.subWord
        for (int i = 0; i < currLevel.subWords.Count; i++)
        {
            wyrd = new Wyrd();
            word = currLevel.subWords[i];

            columnWidth = Mathf.Max(columnWidth, word.Length);

            for (int j = 0; j < word.Length; j++)
            {
                c  = word[j];
                go = Instantiate <GameObject>(prefabLetter);
                go.transform.SetParent(letterAnchor);
                lett   = go.GetComponent <Letter>();
                lett.c = c;

                pos = new Vector3(wordArea.x + left + j * letterSize, wordArea.y, 0);

                pos.y -= (i % numRows) * letterSize;

                lett.posImmediate = pos + Vector3.up * (20 + i % numRows);

                lett.pos = pos; //add more to this line later

                lett.timeStart = Time.time + i * .05f;

                go.transform.localScale = Vector3.one * letterSize;

                wyrd.Add(lett);
            }
            if (showAllWyrds)
            {
                wyrd.visible = true;
            }

            wyrd.color = wyrdPalette[word.Length - WordList.WORD_LENGTH_MIN];
            wyrds.Add(wyrd);

            //adds new collumn if previous one is maxed
            if (i % numRows == numRows - 1)
            {
                left += (columnWidth + .5f) * letterSize;
            }
        }

        bigLetters       = new List <Letter>();
        bigLettersActive = new List <Letter>();

        //create a big letter for each letter in big word
        for (int i = 0; i < currLevel.word.Length; i++)
        {
            c  = currLevel.word[i];
            go = Instantiate <GameObject>(prefabLetter);
            go.transform.SetParent(bigLetterAnchor);
            lett   = go.GetComponent <Letter>();
            lett.c = c;
            go.transform.localScale = Vector3.one * bigLetterSize;

            //set initial position of big letters below the screen

            pos = new Vector3(0, -100, 0);

            lett.posImmediate = pos;
            lett.pos          = pos; //will add code here later

            lett.timeStart   = Time.time + currLevel.subWords.Count * .05f;
            lett.easingCurve = Easing.Sin + "-0.18";

            col          = bigColorDim;
            lett.color   = col;
            lett.visible = true;
            lett.big     = true;
            bigLetters.Add(lett);
        }

        //shuffle letters
        bigLetters = ShuffleLetters(bigLetters);

        //arrange onto screen
        ArrangeBigLetters();

        mode = GameMode.inLevel;
    }