private StateEntity <T> GetEntity(T stateType)
        {
            int             index  = mStateSet.FindIndex((item) => { return(stateType.Equals(item.StateType)); });
            StateEntity <T> entity = null;

            if (index >= 0)
            {
                entity = mStateSet[index];
            }
            return(entity);
        }
        /// <summary>
        /// 添加一个新状态
        /// </summary>
        /// <param name="stateType">状态类别</param>
        /// <returns></returns>
        public StateEntity <T> AddState(T stateType)
        {
            StateEntity <T> entity = GetEntity(stateType);

            if (entity == null)
            {
                entity = new StateEntity <T>(stateType, this);
                mStateSet.Add(entity);
            }
            return(entity);
        }