Opc.Ua.FiniteStateMachineState.UpdateStateVariable C# (CSharp) Method

UpdateStateVariable() protected method

Updates the current state variable.
protected UpdateStateVariable ( ISystemContext context, uint stateId, FiniteStateVariableState variable ) : void
context ISystemContext
stateId uint
variable FiniteStateVariableState
return void
        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;
                }
            }
        }