private void InitializeOutput() { // Init Output View TextColumns.TextPair textPair; BendParameter bendParam; int pinput = 0; m_EnabledParameterMask = 0; m_OutputText.Clear(); // Input Parameters for (int p = 0; p < m_Bend.inputParameters.Count; ++p) { bendParam = m_Bend.inputParameters[p]; textPair = new TextColumns.TextPair(); textPair.left = "<b>" + BendParameter.GetStringValue(bendParam.name) + ":</b> "; textPair.right = "<color=#" + bendParam.colorHexString + ">" + BendParameter.GetFormattedValue(bendParam) + "</color>"; m_OutputText.Write(textPair); } pinput = m_Bend.inputParameters.Count; // Output Parameters (FF1800FF, EA75FF) for (int p = 0; p < m_Bend.outputParameters.Count; ++p) { bendParam = m_Bend.outputParameters[p]; if (bendParam.enabled) { m_EnabledParameterMask |= 1 << (pinput + p); textPair = new TextColumns.TextPair(); textPair.left = "<b>" + BendParameter.GetStringValue(bendParam.name) + ":</b> "; textPair.right = "<b><color=#" + bendParam.colorHexString + ">" + BendParameter.GetFormattedValue(bendParam) + "</color></b>"; m_OutputText.Write(textPair); } } //Debug.Log( "BendInputScreen: InitializeOutput() m_EnabledParameterMask: " + m_EnabledParameterMask + " Lines: " + m_OutputText.lineCount ); }
/// <summary> /// Refresh Output View /// </summary> public void ListenerBend(Bend.EventType type) { if (type != Bend.EventType.Calculated) { return; } BendParameter bendParam; TextColumns.TextPair textPair; int enabledMask = 0; int line = 0; int pinput = 0; var textPairs = m_OutputText.GetLines(); // Assert no bitmask overflow Debug.Assert(m_Bend.inputParameters.Count + m_Bend.outputParameters.Count <= sizeof(int) * 8); // Input Parameters for (int p = 0; p < m_Bend.inputParameters.Count && p < textPairs.Count; ++p) { bendParam = m_Bend.inputParameters[p]; if (bendParam.enabled) { enabledMask |= 1 << (p); textPair = textPairs[line]; textPair.right = "<color=#" + bendParam.colorHexString + ">" + BendParameter.GetFormattedValue(bendParam) + "</color>"; textPairs[line] = textPair; line += 1; } } pinput = m_Bend.inputParameters.Count; // Output Parameters (FF1800FF, EA75FF) for (int p = 0; p < m_Bend.outputParameters.Count && line < textPairs.Count; ++p) { bendParam = m_Bend.outputParameters[p]; if (bendParam.enabled) { enabledMask |= 1 << (pinput + p); textPair = textPairs[line]; textPair.right = "<b><color=#" + bendParam.colorHexString + ">" + BendParameter.GetFormattedValue(bendParam) + "</color></b>"; textPairs[line] = textPair; line += 1; } } if (enabledMask != m_EnabledParameterMask) { InitializeOutput(); } else { m_OutputText.WriteLines(textPairs); } // Display any Alert Text if (!string.IsNullOrEmpty(m_Bend.alert)) { alertText.Set(m_Bend.alert); } else { alertText.Off(); } //Debug.Log( "UIBendInputScreen: ListenerBend() Output Refreshed." ); }