public void UpdateState(FlowNodeInstance instance, ActivityStates state, string message = null)
        {
            var evt = new ActivityStateUpdatedEvent(Guid.NewGuid().ToString(), AggregateId, Version + 1, instance.EltId, state, message, DateTime.UtcNow);

            Handle(evt);
            DomainEvents.Add(evt);
        }
示例#2
0
        private void LockScreenActivity_OnActivityStateChanged(object sender, Activities.ActivitiesEventArgs.LockScreenLifecycleEventArgs e)
        {
            switch (e.State)
            {
            case ActivityStates.Paused:
                if (floatingNotificationView.Visibility == ViewStates.Visible)
                {
                    floatingNotificationView.Visibility = ViewStates.Invisible;
                }

                break;

            case ActivityStates.Resumed:
                //?
                break;

            case ActivityStates.Destroyed:
                if (floatingNotificationView.Visibility == ViewStates.Visible)
                {
                    floatingNotificationView.Visibility = ViewStates.Invisible;
                }

                break;

            default:
                break;
            }
            currentActivityState = e.State;
        }
示例#3
0
            /// <summary>
            /// Changes the animation of player based on activity state.
            /// </summary>
            private void SetMovementAnimation()
            {
                ActivityStates act = m_Controller.activity;

                switch (act)
                {
                case (ActivityStates.Idle):
                    // Play idle animation.
                    m_Animator.SetInteger(m_aParams.horizontalSpeed, 0);
                    m_Animator.SetInteger(m_aParams.verticalSpeed, 0);

                    break;

                case (ActivityStates.Moving):
                    // Play moving animation.
                    // First check the direction of player
                    if (m_Controller.direction == Directions.Up)
                    {
                        m_Animator.SetInteger(m_aParams.verticalSpeed, 1);
                    }
                    if (m_Controller.direction == Directions.Down)
                    {
                        m_Animator.SetInteger(m_aParams.verticalSpeed, -1);
                    }
                    if (m_Controller.direction == Directions.Right)
                    {
                        m_Animator.SetInteger(m_aParams.horizontalSpeed, 1);
                    }
                    if (m_Controller.direction == Directions.Left)
                    {
                        m_Animator.SetInteger(m_aParams.horizontalSpeed, -1);
                    }
                    break;
                }
            }
 public ActivityStateUpdatedEvent(string id, string aggregateId, int version, string flowNodeInstanceId, ActivityStates state, string message, DateTime updateDateTime) : base(id, aggregateId, version)
 {
     FlowNodeInstanceId = flowNodeInstanceId;
     State          = state;
     Message        = message;
     UpdateDateTime = updateDateTime;
 }
示例#5
0
    private void Excite()
    {
        state = ActivityStates.excited;
        fireflies.Play();
        var main = fireflies.main;

        main.simulationSpeed = 10F;
    }
示例#6
0
 protected internal virtual ActivityEntity UpdateEntity(IAuthUser dealer)
 {
     this.Entity.Variables  = this.Variables.ToString();
     this.Entity.Outputs    = this.Outputs.ToString();
     this.Entity.Status     = this.Status;
     this.Entity.DealedBy   = dealer.UserId;
     this.Entity.DealerInfo = dealer.UserInfo;
     this.Entity.DealTime   = DateTime.Now;
     return(this.Entity);
 }
            /// <summary>
            /// Checks and sets current activity state of player.
            /// </summary>
            private void SetActivityState()
            {
#if UNITY_STANDALONE
                float actY = m_Input.verticalAxisValue;
                float actX = m_Input.horizontalAxisValue;

                if ((actX != 0.0f) || (actY != 0.0f))
                {
                    activity = ActivityStates.Moving;
                }
                else
                {
                    activity = ActivityStates.Idle;
                }
#endif
            }
示例#8
0
    //------------------------------------------------------------------------------------------------
    // Purpose : Toggles the state of console.
    //           Call this from button click event.
    //------------------------------------------------------------------------------------------------
    public void ToggleState()
    {
        switch (currentState)
        {
        case ActivityStates.STATE_OPEN:

            currentState = ActivityStates.STATE_CLOSE;
            this.gameObject.SetActive(false);

            break;

        case ActivityStates.STATE_CLOSE:

            this.gameObject.SetActive(true);
            currentState = ActivityStates.STATE_OPEN;

            break;
        }
    }
示例#9
0
        public void NotifyActivityStateChange(Type activity, ActivityStates activityState)
        {
            //Perform a search, and remove.
            foreach (var item in Activities)
            {
                if (item.Item1 == activity)
                {
                    Activities.Remove(item);
                    break;
                }
            }

            Activities.Add(new Tuple <Type, ActivityStates>(activity, activityState));
            ActivityStateChanged?.Invoke(this, new ActivityStateChangedEventArgs
            {
                Activity = activity,
                State    = activityState
            });
        }
示例#10
0
 public void UpdateState(ActivityStates state, DateTime updateDateTime, string message = null)
 {
     ActivityStates.Add(new ActivityStateHistory(state, updateDateTime, message));
     ActivityState = state;
 }
 public ActivityStateHistory(ActivityStates state, DateTime executionDateTime, string message = null)
 {
     State             = state;
     ExecutionDateTime = executionDateTime;
     Message           = message;
 }
示例#12
0
 private void LockScreenActivity_OnActivityStateChanged(object sender, LockScreenLifecycleEventArgs e)
 {
     currentActivityState = e.State;
 }
示例#13
0
 private void Calm()
 {
     state = ActivityStates.calm;
     fireflies.Stop();
     timeSincePlayerClose = 0F;
 }
示例#14
0
        void TryFinish() {
            if (this.FinishConstraint != null)
            {
                #region 有后置条件
                if (!this.FinishConstraint(this))
                {
                    #region 后置条件不满足,转换activity的状态为WaitingFinish,等待下次执行
                    this.SyncObject.EnterWriteLock();
                    try
                    {
                        this._State = ActivityStates.WaitingFinish;
                    }
                    finally
                    {
                        this.SyncObject.ExitWriteLock();
                    }

                    return;
                    #endregion
                }
                else
                {
                    #region 后置条件已经满足
                    try
                    {
                        this._State = ActivityStates.Finished;
                    }
                    finally
                    {
                        this.SyncObject.ExitWriteLock();
                    }

                    #endregion
                }
                #endregion
            }
            else
            {
                #region 没有后置条件,直接Deal过程
                try
                {
                    this._State = ActivityStates.Finished;
                }
                finally
                {
                    this.SyncObject.ExitWriteLock();
                }

               
                #endregion
            }
        }
示例#15
0
        void TryDeal()
        {
            this.SyncObject.EnterWriteLock();
            try
            {

                if (this._State != ActivityStates.Started && this._State != ActivityStates.Suspending) throw new InvalidOperationException("Deal只能从Started状态出来,而当前状态是" + Enum.GetName(typeof(ActivityStates), this._State));

                this._State = ActivityStates.Dealing;
            }
            finally
            {
                this.SyncObject.ExitWriteLock();
            }
            var result = this.Deal();
            this.SyncObject.EnterWriteLock();
            try
            {
                if (this._State != ActivityStates.Dealing) throw new InvalidOperationException("Dealed只能从Dealing状态出来,而当前状态是" + Enum.GetName(typeof(ActivityStates), this._State));
                this._dealResult = result;
                var dealResult = result as DealResult;
                if (dealResult != null)
                {
                    if (dealResult.RetryTime != DateTime.MinValue)
                    {
                        this._State = ActivityStates.Suspending;
                    }
                    return;
                }
                this._State = ActivityStates.Dealed;
            }
            finally
            {
                this.SyncObject.ExitWriteLock();
            }

            //挂起与等待都在前面return 了,到这里的都是正常完成的Dealed
            TryFinish();

        }
示例#16
0
 void TryStart()
 {
     if (this.StartConstraint != null)
     {
         #region 有前置条件
         if (!this.StartConstraint(this))
         {
             #region 前置条件不满足,转换activity的状态为WaitingStart,等待下次执行
             this.SyncObject.EnterWriteLock();
             try {
                 this._State = ActivityStates.WaitingStart;
             } finally {
                 this.SyncObject.ExitWriteLock();
             }
             
             return;
             #endregion
         }
         else
         {
             #region 前置条件已经满足,直接开始Deal过程
             try
             {
                 this._State = ActivityStates.Started;
             }
             finally
             {
                 this.SyncObject.ExitWriteLock();
             }
             
             TryDeal();
             #endregion
         }
         #endregion
     }
     else
     {
         #region 没有前置条件,直接Deal过程
         try
         {
             this._State = ActivityStates.Started;
         }
         finally
         {
             this.SyncObject.ExitWriteLock();
         }
         
         TryDeal();
         #endregion
     }
 }