Exemple #1
0
        /// <summary>
        /// 登録したNodeを抹消する
        /// </summary>
        /// <param name="stateType"></param>
        public void UnRegisterStateNode(T stateType)
        {
            StateNodeDataItem stateNodeDataItem = GetStateNode(stateType);

            if (stateNodeDataItem != null)
            {
                stateNodeDataItem.StateNode.StateFinalize();
                stateNodeDataItem.StateNode = null;
                m_stateNodeDataItems.Remove(stateNodeDataItem);
                stateNodeDataItem = null;
            }
        }
Exemple #2
0
        /// <summary>
        /// Unregister state node
        /// </summary>
        /// <param name="stateType">State type to unregister</param>
        public void UnRegisterStateNode(T stateType)
        {
            StateNodeDataItem stateNodeDataItem = GetStateNode(stateType);

            if (stateNodeDataItem != null)
            {
                Console.WriteLine("_pLog_ {0} [{1}@{2}] {3}", DateTime.UtcNow.Ticks, this.GetType(),
                                  MethodBase.GetCurrentMethod().ToString(), string.Format("{0}", ""));
                stateNodeDataItem.StateNode.StateFinalize();
                stateNodeDataItem.StateNode = null;
                m_stateNodeDataItems.Remove(stateNodeDataItem);
                stateNodeDataItem = null;
            }
        }
Exemple #3
0
        /// <summary>
        /// stateごとのnodeを登録する
        /// 初回登録場合はinitializeステータスとしてコールバックを呼ぶ
        /// </summary>
        /// <param name="stateType"></param>
        /// <param name="stateNode"></param>
        public void RegisterStateNode(T stateType, StateNodeCore <T> stateNode)
        {
            StateNodeDataItem stateNodeDataItem = GetStateNode(stateType);

            if (stateNodeDataItem == null)
            {
                m_stateNodeDataItems.Add(new StateNodeDataItem()
                {
                    StateType = stateType, StateNode = stateNode
                });
                stateNode.StateInitialize();
            }
            else
            {
                m_stateNodeDataItems.Add(new StateNodeDataItem()
                {
                    StateType = stateType, StateNode = stateNode
                });
            }
        }
Exemple #4
0
        /// <summary>
        /// Register state node
        /// </summary>
        /// <param name="stateType">State type to register</param>
        /// <param name="stateNode">State node to register</param>
        public void RegisterStateNode(T stateType, SkStateNode <T> stateNode)
        {
            StateNodeDataItem stateNodeDataItem = GetStateNode(stateType);

            if (stateNodeDataItem == null)
            {
                Console.WriteLine("_pLog_ {0} [{1}@{2}] {3}", DateTime.UtcNow.Ticks, this.GetType(),
                                  MethodBase.GetCurrentMethod().ToString(), string.Format("{0}", string.Format("StateType {0} Registered!", stateType)));
                m_stateNodeDataItems.Add(new StateNodeDataItem()
                {
                    StateType = stateType, StateNode = stateNode
                });
                stateNode.StateInitialize();
            }
            else
            {
                Console.WriteLine("_pLog_ {0} [{1}@{2}] {3}", DateTime.UtcNow.Ticks, this.GetType(),
                                  MethodBase.GetCurrentMethod().ToString(), string.Format("{0}", string.Format("ERROR: StateType {0} already exist!", stateType)));
                m_stateNodeDataItems.Add(new StateNodeDataItem()
                {
                    StateType = stateType, StateNode = stateNode
                });
            }
        }