コード例 #1
0
ファイル: Brain.Service.cs プロジェクト: nicecapj/UniBt
        private void StartService(RuntimeService runtimeService)
        {
            runtimeService.serviceAction();

            if (runtimeService.subscription != null)
                runtimeService.subscription.Dispose();

            runtimeService.subscription = Observable.Interval(TimeSpan.FromSeconds(runtimeService.tick))
                .Subscribe(_ => runtimeService.serviceAction())
                .AddTo(this);
        }
コード例 #2
0
ファイル: Brain.Service.cs プロジェクト: nicecapj/UniBt
        private void StartService(RuntimeService runtimeService)
        {
            runtimeService.serviceAction();

            if (runtimeService.subscription != null)
            {
                runtimeService.subscription.Dispose();
            }

            runtimeService.subscription = Observable.Interval(TimeSpan.FromSeconds(runtimeService.tick))
                                          .Subscribe(_ => runtimeService.serviceAction())
                                          .AddTo(this);
        }
コード例 #3
0
 private void InitializeService(Composite composite)
 {
     if (composite.services.Length > 0)
     {
         for (int i = 0; i < composite.services.Length; i++)
         {
             Service        sv   = composite.services[i];
             RuntimeService rs   = new RuntimeService(composite, sv.tick);
             MonoBehaviour  comp = GetEqualTypeComponent(sv.targetScript.GetType()) as MonoBehaviour;
             if (comp == null)
             {
                 comp = gameObject.AddComponent(sv.targetScript.GetType()) as MonoBehaviour;
                 IInitializable initializable = comp as IInitializable;
                 initializable.Initialize();
             }
             rs.serviceAction = Delegate.CreateDelegate(typeof(Action), comp, sv.targetMethod) as Action;
             _runtimeServices.Add(rs);
         }
     }
 }
コード例 #4
0
ファイル: Brain.Service.cs プロジェクト: nicecapj/UniBt
 private void InitializeService(Composite composite)
 {
     if (composite.services.Length > 0)
     {
         for (int i = 0; i < composite.services.Length; i++)
         {
             Service sv = composite.services[i];
             RuntimeService rs = new RuntimeService(composite, sv.tick);
             MonoBehaviour comp = GetEqualTypeComponent(sv.targetScript.GetType()) as MonoBehaviour;
             if (comp == null)
             {
                 comp = gameObject.AddComponent(sv.targetScript.GetType()) as MonoBehaviour;
                 IInitializable initializable = comp as IInitializable;
                 initializable.Initialize();
             }
             rs.serviceAction = Delegate.CreateDelegate(typeof(Action), comp, sv.targetMethod) as Action;
             _runtimeServices.Add(rs);
         }
     }
 }