示例#1
0
        public virtual void ChangeState(int nextID)
        {
            var nextState = listStates_.Where(o => o.GetID().Equals(nextID)).SingleOrDefault();

            Assert.IsTrue(nextState != null, string.Format("상태를 찾을 수 없습니다. {0}", nextID));

            Current?.OnLeave();
            Current = nextState;
            Current?.OnEnter();
        }
示例#2
0
        protected virtual FiniteState AddState(FiniteState state)
        {
            var duplicate = listStates_.Find(o => o.GetID() == state.GetID());

            if (duplicate == null)
            {
                listStates_.Add(state);
                return(state);
            }
            else
            {
                return(null);
            }
        }