コード例 #1
0
        public static void Unregister(string groupName, TimeObject obj)
        {
            if (_controllers.TryGetValue(groupName, out var controller))
            {
                controller.RemoveObject(obj);
            }

            if (_registerCache.TryGetValue(groupName, out var list))
            {
                list.Remove(obj);
            }
        }
コード例 #2
0
 public static void Register(string groupName, TimeObject obj)
 {
     if (_controllers.TryGetValue(groupName, out var controller))
     {
         controller.AddObject(obj);
     }
     else
     {
         List <TimeObject> list;
         if (!_registerCache.TryGetValue(groupName, out list))
         {
             list = new List <TimeObject>();
             _registerCache.Add(groupName, list);
         }
         list.Add(obj);
     }
 }
コード例 #3
0
ファイル: TimeObject.cs プロジェクト: anohis/TimeSystem
 public PauseState(TimeObject timeObject) : base(timeObject)
 {
 }
コード例 #4
0
ファイル: TimeObject.cs プロジェクト: anohis/TimeSystem
 public BackwardState(TimeObject timeObject) : base(timeObject)
 {
 }
コード例 #5
0
ファイル: TimeObject.cs プロジェクト: anohis/TimeSystem
 public ForwardState(TimeObject timeObject) : base(timeObject)
 {
 }
コード例 #6
0
ファイル: TimeObject.cs プロジェクト: anohis/TimeSystem
 public State(TimeObject timeObject)
 {
     _timeObject = timeObject;
 }
コード例 #7
0
 public void RemoveObject(TimeObject obj)
 {
     obj.OnInvertableEventHandler -= OnInvertableEvent;
     _objects.Remove(obj);
 }
コード例 #8
0
 public void AddObject(TimeObject obj)
 {
     obj.OnInvertableEventHandler += OnInvertableEvent;
     _objects.Add(obj);
     _currentState.OnAddObject(obj);
 }
コード例 #9
0
 public override void OnAddObject(TimeObject obj)
 {
     obj.Pause();
 }
コード例 #10
0
 public override void OnAddObject(TimeObject obj)
 {
     obj.Backward();
 }
コード例 #11
0
 public abstract void OnAddObject(TimeObject obj);