protected void UpdateStateVariable(ISystemContext context, uint stateId, FiniteStateVariableState variable)
{
if (variable == null)
{
return;
}
if (stateId == 0)
{
variable.Value = null;
variable.Id.Value = null;
if (variable.Number != null)
{
variable.Number.Value = 0;
}
return;
}
ElementInfo[] stateTable = StateTable;
if (stateTable == null)
{
return;
}
for (int ii = 0; ii < stateTable.Length; ii++)
{
ElementInfo state = stateTable[ii];
if (state.Id == stateId)
{
variable.Value = state.Name;
variable.Id.Value = new NodeId(state.Id, ElementNamespaceIndex);
if (variable.Number != null)
{
variable.Number.Value = state.Number;
}
return;
}
}
}