/// <summary>
        /// Add an activity execution to the event's behavior
        /// </summary>
        /// <typeparam name="TInstance">The state machine instance type</typeparam>
        /// <typeparam name="TData">The event data type</typeparam>
        /// <param name="binder">The event binder</param>
        /// <param name="activityFactory">The factory method which returns the activity to execute</param>
        public static EventActivityBinder <TInstance, TData> Execute <TInstance, TData>(this EventActivityBinder <TInstance, TData> binder,
                                                                                        Func <BehaviorContext <TInstance, TData>, Activity <TInstance, TData> > activityFactory)
            where TInstance : class
        {
            var activity = new FactoryActivity <TInstance, TData>(activityFactory);

            return(binder.Add(activity));
        }
Beispiel #2
0
        public SystemCostIndice getSystemCostIndice(FactoryActivity activity)
        {
            int activityID = (int)activity;
            foreach (var costIndice in systemCostIndices)
            {
                if (costIndice.activityID == activityID)
                    return costIndice;
            }

            return null;
        }
Beispiel #3
0
        public SystemCostIndice getSystemCostIndice(FactoryActivity activity)
        {
            int activityID = (int)activity;

            foreach (var costIndice in systemCostIndices)
            {
                if (costIndice.activityID == activityID)
                {
                    return(costIndice);
                }
            }

            return(null);
        }