Esempio n. 1
0
        public WaitForSignalOrAlarm()
        {
            Implementation = () =>
                             new Pick()
            {
                Branches =
                {
                    new PickBranch
                    {
                        Trigger = new Wakeup()
                        {
                            BookmarkName = new InArgument <string>((c) => BookmarkName.Get(c))
                        },

                        Action = new Assign <bool>()
                        {
                            To = new ArgumentReference <bool>{
                                ArgumentName = "Result"
                            },
                            Value = true,
                        }
                    },
                    new PickBranch
                    {
                        Trigger = new Delay
                        {
                            Duration = new InArgument <TimeSpan>((c) => GetDuration(AlarmTime.Get(c)))
                        },
                        Action = new Assign <bool>()
                        {
                            To = new ArgumentReference <bool>{
                                ArgumentName = "Result"
                            },
                            Value = false,
                        }
                    }
                }
            };
        }