コード例 #1
0
        internal bool HasSetElementFSM(Type type, FSMBase fsm)
        {
            if (!fsmSetDict.ContainsKey(type))
            {
                return(false);
            }
            var fsmPool = fsmSetDict[type];

            return(fsmPool.HasFSM(fsm));
        }
コード例 #2
0
        internal void DestoryFSMSet(Type type)
        {
            FSMBase fsm = null;

            if (fsmIndividualDict.TryGetValue(type, out fsm))
            {
                fsm.Shutdown();
                fsmIndividualDict.Remove(type);
            }
        }
コード例 #3
0
        public void DestoryIndividualFSM(Type type)
        {
            FSMBase fsm = null;

            if (fsmIndividualDict.TryGetValue(type, out fsm))
            {
                fsm.Shutdown();
                fsmIndividualDict.TryRemove(type, out _);
            }
        }
コード例 #4
0
        public void DestoryFSM(Type type)
        {
            FSMBase fsm = null;

            if (fsmDict.TryGetValue(type, out fsm))
            {
                fsm.Shutdown();
                fsmDict.Remove(type);
            }
        }
コード例 #5
0
 public void AddFSM(FSMBase fsm)
 {
     if (!fsmSet.Contains(fsm))
     {
         fsmSet.Add(fsm);
     }
     else
     {
         throw new ArgumentException(" FSM is exists" + fsm.OwnerType.ToString());
     }
 }
コード例 #6
0
 public void DestoryFSM(FSMBase fsm)
 {
     fsmSet.Remove(fsm);
     FsmRefreshHandler -= fsm.OnRefresh;
     fsm.Shutdown();
 }
コード例 #7
0
 public bool HasFSM(FSMBase fsm)
 {
     return(fsmSet.Contains(fsm));
 }
コード例 #8
0
 internal bool HasSetElementFSM <T>(FSMBase fsm)
     where T : class
 {
     return(HasSetElementFSM(typeof(T), fsm));
 }
コード例 #9
0
 public void DestoryFSM(FSMBase fsm)
 {
     fsmSet.Remove(fsm);
     fsm.Shutdown();
 }