private static void ChangeTriggerOnOff(EcasAction a, EcasContext ctx)
{
string strName = EcasUtil.GetParamString(a.Parameters, 0, true);
uint uState = EcasUtil.GetParamUInt(a.Parameters, 1);
EcasTrigger t = null;
if (strName.Length == 0)
{
t = ctx.Trigger;
}
else
{
foreach (EcasTrigger trg in ctx.TriggerSystem.TriggerCollection)
{
if (trg.Name == strName)
{
t = trg; break;
}
}
}
if (t == null)
{
throw new Exception(KPRes.ObjectNotFound +
MessageService.NewParagraph + KPRes.TriggerName + ": " + strName + ".");
}
if (uState == IdTriggerOn)
{
t.On = true;
}
else if (uState == IdTriggerOff)
{
t.On = false;
}
else if (uState == IdTriggerToggle)
{
t.On = !t.On;
}
else
{
Debug.Assert(false);
}
}