public HUDNumberField(Transform transform, int digitCount, float scale, GameObject digitReference, float charWidth, float charPixelWidth, HUDNumberAlign alignment)
        {
            this.transform      = transform;
            this.charWidth      = charWidth;
            this.charPixelWidth = charPixelWidth;
            this.alignment      = alignment;
            digCount            = digitCount;

            digitObjects = new GameObject[digitCount];
            UVTs         = new UVTransformer[digitCount];
            digits       = new int[digitCount];
            for (int i = 0; i < digitCount; i++)
            {
                GameObject digitObject = (GameObject)GameObject.Instantiate(digitReference);
                digitObjects[i] = digitObject;
                digitObject.transform.parent        = transform;
                digitObject.transform.localScale    = Vector3.one;
                digitObject.transform.localPosition = Vector3.zero;
                digitObject.transform.localRotation = Quaternion.identity;
                digitObject.SetActive(true);
                if (alignment == HUDNumberAlign.Right)
                {
                    digitObject.transform.localPosition -= (charWidth * digitCount) * Vector3.right;
                }
                digitObject.transform.localPosition += (charWidth * i) * Vector3.right;

                UVTs[i] = new UVTransformer(digitObject);

                transform.localScale = scale * Vector3.one;

                digits[i] = -1;
            }

            char[] maxValChars = new char[digitCount];
            for (int i = 0; i < digitCount; i++)
            {
                maxValChars[i] = '9';
            }
            string maxValString = new string(maxValChars);

            maxValue = int.Parse(maxValString);
        }
示例#2
0
        public HUDNumberField(Transform transform, int digitCount, float scale, GameObject digitReference, float charWidth, float charPixelWidth, HUDNumberAlign alignment)
        {
            this.transform = transform;
            this.charWidth = charWidth;
            this.charPixelWidth = charPixelWidth;
            this.alignment = alignment;
            digCount = digitCount;

            digitObjects = new GameObject[digitCount];
            UVTs = new UVTransformer[digitCount];
            digits = new int[digitCount];
            for(int i = 0; i < digitCount; i++)
            {
                GameObject digitObject = (GameObject)GameObject.Instantiate(digitReference);
                digitObjects[i] = digitObject;
                digitObject.transform.parent = transform;
                digitObject.transform.localScale = Vector3.one;
                digitObject.transform.localPosition = Vector3.zero;
                digitObject.transform.localRotation = Quaternion.identity;
                digitObject.SetActive(true);
                if(alignment == HUDNumberAlign.Right)
                {
                    digitObject.transform.localPosition -= (charWidth * digitCount) * Vector3.right;
                }
                digitObject.transform.localPosition += (charWidth * i) * Vector3.right;

                UVTs[i] = new UVTransformer(digitObject);

                transform.localScale = scale*Vector3.one;

                digits[i] = -1;
            }

            char[] maxValChars = new char[digitCount];
            for(int i = 0; i < digitCount; i++)
            {
                maxValChars[i] = '9';
            }
            string maxValString = new string(maxValChars);
            maxValue = int.Parse(maxValString);
        }