Exemple #1
0
    static void ApplyGrayNumbers(int fixedRowOrColIndex, bool isFixedRow, List <ColorableClueNumber> scaningClues)
    {
        List <int> grayIndex = new List <int>();

        //grayIndex = GetGrayClueIndexsByCurrentAnswer(fixedRowOrColIndex, isFixedRow, scaningClues);
        if (grayIndex.Count != scaningClues.Count)
        {
            InsertElementIntoArray(ref grayIndex, GetGrayClueIndexes(fixedRowOrColIndex, isFixedRow, scaningClues, true));
            InsertElementIntoArray(ref grayIndex, GetGrayClueIndexes(fixedRowOrColIndex, isFixedRow, scaningClues, false));
        }
        for (int i = 0; i < scaningClues.Count; i++)
        {
            ColorableClueNumber c = scaningClues[i];
            if (grayIndex.Contains(i))
            {
                c.SetGrayState(true);
            }
            else
            {
                c.SetGrayState(false);
            }
        }
        foreach (int i in grayIndex)
        {
            scaningClues[i].SetGrayState(true);
        }
    }
Exemple #2
0
 internal static void SetClueTextRecord(ColorableClueNumber coloredNumber)
 {
     //throw new System.NotImplementedException();
     if (coloredNumber != null)
     {
         colorClueNumbers.Add(coloredNumber);
     }
 }
Exemple #3
0
    private void CreateClueTextObject(List <string> clueTexts)
    {
        //throw new System.NotImplementedException();
        float currentLocalPos = -0.25f;

        if (null != sampleOfText)
        {
            int numberCount   = 0;
            int clueTextIndex = clueTexts.Count - 1;
            for (int i = 0; i < clueTexts.Count; i++)
            {
                string s = clueTexts[i];
                if (string.IsNullOrEmpty(s.Trim()))
                {
                    continue;
                }
                ColorableClueNumber clonedText = GameObject.Instantiate(sampleOfText) as ColorableClueNumber;

                clonedText.arrayIndex = (clueTextIndex + 1) / 2;
                clueTextIndex        -= 2;

                clonedText.SetText(s);
                clonedText.isHorizontal = isHorizontal;
                if (this.isHorizontal)
                {
                    clonedText.rowIndex = this.row;
                    //MainGame.SetClueTextRecord(isHorizontal, clonedText.rowIndex, System.Convert.ToInt32(s));
                }
                else
                {
                    clonedText.colIndex = this.col;
                    //MainGame.SetClueTextRecord(isHorizontal, clonedText.colIndex, System.Convert.ToInt32(s));
                }


                clonedText.transform.parent        = this.transform;
                clonedText.transform.localPosition = isHorizontal ? new Vector2(-currentLocalPos, 0) : new Vector2(0, currentLocalPos);

                MainGame.SetClueTextRecord(clonedText);

                currentLocalPos += 0.5f;
                numberCount++;
                if (isHorizontal)
                {
                    maxHorizontalCount = Mathf.Max(numberCount, maxHorizontalCount);
                }
                else
                {
                    maxVerticalCount = Mathf.Max(numberCount, maxVerticalCount);
                }
            }

            //CreateClueBackground(this.transform, numberCount);
        }
    }
Exemple #4
0
 static int ComparedByArrayIndex(ColorableClueNumber n1, ColorableClueNumber n2)
 {
     return(n1.arrayIndex.CompareTo(n2.arrayIndex));
 }