void Update() { /* Clamp Value */ int ValueDisplay = Mathf.Clamp(Value, ValueMin, ValueMax); /* Update Numerical-Display */ if ((ValuePrevious != ValueDisplay) || (FlagPaddingZeroPrevious != FlagPaddingZero)) { /* Update WorkArea */ ValuePrevious = ValueDisplay; FlagPaddingZeroPrevious = FlagPaddingZero; /* Generate Text */ string Text = (true == FlagPaddingZero) ? ValueDisplay.ToString(FormatToString[(int)KindFormat.PADDING_ZERO]) : ValueDisplay.ToString(FormatToString[(int)KindFormat.NORMAL]); char[] Characters = Text.ToCharArray(); int CountCharacters = Characters.Length; /* Update Digits */ int IndexCharacter; int IDParts; for (int i = 0; i < (int)Constant.DIGIT_MAX; i++) { IDParts = IDPartsDigit[i]; if (0 <= IDParts) { /* Valid */ /* Hide Digit */ InstanceRoot.HideSetForce(IDParts, true, false); /* Change Cell & Show Digit */ if (i < CountCharacters) { /* Get Cell-Data */ IndexCharacter = IndexGetCharacter(Characters[(CountCharacters - 1) - i]); if (0 <= IndexCharacter) { /* Change Cell */ /* MEMO: Ignore Attribute "Cell" */ /* MEMO: (IndexCellMap == 0) Because this Animation has 1 Texture. */ InstanceRoot.CellChange(IDParts, 0, IndexCell[IndexCharacter], true); /* Show Digit */ /* MEMO: Don't Effect to children */ InstanceRoot.HideSetForce(IDParts, false, false); } } } } } }
void Update() { bool FlagUpdateCell = false; /* Update Color */ if (null != InstanceColorBlendOverwrite) { InstanceColorBlendOverwrite.SetOverall(KindOperationFontOverlay, ref ColorFontOverlay); } /* Font Update */ if (IndexFontPrevious != IndexFont) { IndexFontPrevious = IndexFont; FontSet(IndexFont); FlagUpdateCell |= true; } /* Clamp Value */ int ValueDisplay = Mathf.Clamp(Value, ValueMin, ValueMax); /* Update Numerical-Displa */ FlagUpdateCell |= ((ValuePrevious != ValueDisplay) || (FlagPaddingZeroPrevious != FlagPaddingZero) || (FlagProportionalPrevious != FlagProportional)) ? true : false; if (true == FlagUpdateCell) { /* Update WorkArea */ ValuePrevious = ValueDisplay; FlagProportionalPrevious = FlagProportional; FlagPaddingZeroPrevious = FlagPaddingZero; /* Generate Text */ string Text = (true == FlagPaddingZero) ? ValueDisplay.ToString(FormatToString[(int)KindFormat.PADDING_ZERO]) : ValueDisplay.ToString(FormatToString[(int)KindFormat.NORMAL]); char[] Characters = Text.ToCharArray(); int CountCharacters = Characters.Length; /* Update Digits */ int CountDigit = (int)Constant.DIGIT_MAX; int IndexCharacter; int IDParts; int IndexCell; int PositionPixelDigit = 0; for (int i = 0; i < CountDigit; i++) { IDParts = WorkAreaPartsDigit[i].ID; if (0 <= IDParts) { /* Valid */ /* Hide Digit */ InstanceRoot.HideSetForce(IDParts, true, false); /* Change Cell & Show Digit */ if (i < CountCharacters) { /* Get Cell-Data */ IndexCharacter = IndexGetCharacter(Characters[(CountCharacters - 1) - i]); if (0 <= IndexCharacter) { IndexCell = WorkAreaFontCell[IndexCharacter].IndexCell; if (0 <= IndexCell) { /* Change Cell */ /* MEMO: Ignore Attribute "Cell" */ /* MEMO: (IndexCellMap == 0) Because this Animation has 1 Texture. */ InstanceRoot.CellChange(IDParts, 0, IndexCell, true); /* Show Digit */ /* MEMO: Don't Effect to children */ InstanceRoot.HideSetForce(IDParts, false, false); /* Get Pixel-Width */ /* MEMO: Spacing-width = (Previous digit's width + Now digit's width) / 2 */ int PixelSpaceNow = (true == FlagProportional) ? ((int)(WorkAreaFontCell[IndexCharacter].InstanceDataCell.Rectangle.width)) : SizePixelFont; PixelSpaceNow /= 2; /* Adjust Position */ /* MEMO: The first digit is Fixed-Position) */ if (0 < i) { PositionPixelDigit -= PixelSpaceNow; Transform InstanceTransformDigit = WorkAreaPartsDigit[i].InstanceGameObject.transform; Vector3 LocalPositionDigit = InstanceTransformDigit.localPosition; LocalPositionDigit.x = (float)PositionPixelDigit; InstanceTransformDigit.localPosition = LocalPositionDigit; } PositionPixelDigit -= PixelSpaceNow; } } } } } } }