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); } }
internal static void SetClueTextRecord(ColorableClueNumber coloredNumber) { //throw new System.NotImplementedException(); if (coloredNumber != null) { colorClueNumbers.Add(coloredNumber); } }
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); } }
static int ComparedByArrayIndex(ColorableClueNumber n1, ColorableClueNumber n2) { return(n1.arrayIndex.CompareTo(n2.arrayIndex)); }