Example #1
0
        public void Dispose()
        {
            if (this == null || wasDisposed || !ViewInitialized)
            {
                return;
            }
            wasDisposed = true;

            OnDispose();



            if (this.gameObject != null && destroyOnDispose)
            {
                disposeOnDestroy = false;
                Destroy(this.gameObject);
            }

            //_tManager.Remove(this);
            RemoveTickable(this);
            _dManager.Remove(this);

            Controller = null;
            ControllerProperty.Dispose();
            ViewInitializedProperty.Dispose();
            Model = null;
            ModelProperty.Dispose();

            _eventService = null;
            _dManager     = null;
            _tManager     = null;
        }
Example #2
0
 public Pool(MapBoundary mapBounds,
             SignalBus signalBus,
             TickableManager tickManager)
 {
     this.mapBounds   = mapBounds;
     this.signalBus   = signalBus;
     this.tickManager = tickManager;
 }
Example #3
0
        protected Mover(MoverData data)
        {
            Rotate       = data.Rotate;
            Speed        = data.Speed;
            DefaultSpeed = data.Speed;

            this.tickableManager = Container.Instance.Resolve <TickableManager>();
        }
Example #4
0
 public SetCanvasBounds(TickableManager tickableManager)
 {
     if (Math.Abs(Screen.safeArea.width - Screen.width) > float.Epsilon)
     {
         tickableManager.Add(this);
         _deviceOrientation = Screen.orientation;
     }
     _panels = new List <RectTransform>();
 }
Example #5
0
        public QCCondition(TickableManager tickableManager, IAciEventManager eventManager, MQTTConnector mqttConnector)
        {
            m_TickableManager = tickableManager;
            m_EventManager    = eventManager;
            m_MqttConnector   = mqttConnector;

            m_TickableManager.Add(this);
            RegisterForEvents();
        }
 private LauncherEntryPoint(
     ZenjectSceneLoader zenjectSceneLoader,
     [Inject(Id = SceneIds.Menu)] string menuSceneName,
     TickableManager tickableManager)
 {
     this.zenjectSceneLoader = zenjectSceneLoader;
     this.menuSceneName      = menuSceneName;
     this.tickableManager    = tickableManager;
 }
Example #7
0
        public FarmItem(UserFarmItem userFarmItem, TickableManager tickableManager) : base(userFarmItem)
        {
            var produceState = new ProduceState(this);

            Fsm = new FSM <State, FarmItemState>();
            Fsm.Add(produceState);
            Fsm.Add(new IdleState(this));

            tickableManager.AddFixed(this);
        }
Example #8
0
 private SceneLauncher(
     ZenjectAssetBundleSceneLoader zenjectAssetBundleSceneLoader,
     ZenjectSceneLoader zenjectSceneLoader,
     TickableManager tickableManager,
     PreloaderController preloaderController)
 {
     this.zenjectAssetBundleSceneLoader = zenjectAssetBundleSceneLoader;
     this.zenjectSceneLoader            = zenjectSceneLoader;
     this.tickableManager     = tickableManager;
     this.preloaderController = preloaderController;
 }
Example #9
0
 private AttackTurnAction(
     Character attacker,
     Character attackee,
     ICharacterViewResolver characterViewResolver,
     TickableManager tickableManager)
 {
     this.attacker        = attacker;
     this.attackee        = attackee;
     this.attackerView    = characterViewResolver.Resolve(attacker);
     this.attackeeView    = characterViewResolver.Resolve(attackee);
     this.tickableManager = tickableManager;
 }
Example #10
0
        public WorkingHourTracker(TickableManager tickableManager,
                                  ITimeProvider timeProvider,
                                  IAciEventManager eventManager,
                                  IUserManager userManager)
        {
            m_TickableManager = tickableManager;
            m_EventManger     = eventManager;
            m_TimeProvider    = timeProvider;
            m_UserManager     = userManager;
            m_TickableManager.Add(this);

            RegisterForEvents();
        }
Example #11
0
            public MoveTask(
                RectTransform rectTransform,
                Vector2 position,
                float time,
                TickableManager tickableManager)
            {
                this.rectTransform   = rectTransform;
                this.position        = position;
                this.time            = time;
                this.tickableManager = tickableManager;

                tickableManager.Add(this);
            }
Example #12
0
        public void Initialize(
            [Inject] DiContainer diContainer,
            [Inject] DisposableManager dManager,
            [Inject] TickableManager tManager,
            [Inject] Service.Events.IEventsService eventService)
        {
            if (ViewInitialized)
            {
                return;
            }
            ViewInitialized = true;

            PreBind();

            Container     = diContainer;
            _dManager     = dManager;
            _tManager     = tManager;
            _eventService = eventService;

            this.ControllerProperty.DistinctUntilChanged().Subscribe(e => ListenToControllerDispose()).AddTo(this);

            //Create controller if this view is created through editor/sceneload
            if (createController && Controller == null)
            {
                IController _c = CreateController();
                _c.Bind();
                SetController(_c);
            }

            //To make IDisposable work, we have to add this instance to the disposable manager
            _dManager.Add(this);

            //Make ITickable work
            AddTickable(this);

            //Bind all interfaces for this instance
            //Container.BindAllInterfacesFromInstance(this);
            Container.Bind <IView>().FromInstance(this);
            Container.Bind <ITickable>().FromInstance(this);

            //Debug.Log(this + " init");

            AfterBind();
        }
Example #13
0
    void Initialize(
        [Inject] DiContainer diContainer,
        [Inject] DisposableManager dManager,
        [Inject] TickableManager tManager,
        [Inject] IEventsService eventService)
    {
        if (isInitialized)
        {
            return;
        }
        isInitialized = true;

        PreBind();

        Container     = diContainer;
        _dManager     = dManager;
        _tManager     = tManager;
        _eventService = eventService;

        Profiler.BeginSample("dmanager add");

        //To make IDisposable work, we have to add this instance to the disposable manager
        _dManager.Add(this);
        Profiler.EndSample();

        //Make ITickable work
        Profiler.BeginSample("Add tickable");
        // this takes most of the time
        AddTickable(this);
        Profiler.EndSample();

        //Bind all interfaces for this instance
        Profiler.BeginSample("ITickable fromInstance");
        Container.Bind <ITickable>().FromInstance(this);
        Profiler.EndSample();
        Profiler.BeginSample("IDisposable fromInstance");
        Container.Bind <IDisposable>().FromInstance(this);
        //Container.BindAllInterfacesFromInstance(this);
        Profiler.EndSample();

        Profiler.BeginSample("AfterBind");
        AfterBind();
        Profiler.EndSample();
    }
Example #14
0
 public void LateUpdate()
 {
     TickableManager.LateUpdate();
 }
Example #15
0
 public void FixedUpdate()
 {
     TickableManager.FixedUpdate();
 }
Example #16
0
 public void Update()
 {
     TickableManager.Update();
 }
Example #17
0
 public TimeCondition(TickableManager tickableManager, ITimeProvider timeProvider)
 {
     m_TimeProvider    = timeProvider;
     m_TickableManager = tickableManager;
     m_TickableManager.Add(this);
 }
Example #18
0
 public Countdown(TickableManager tickableManager)
 {
     tickableManager.Add(this);
     tickableManager.Initialize();
 }
 private Pool(TickableManager tickableManager)
 {
     tickableManager.AddLate(this);
     this.tickableManager = tickableManager;
     this.despawnQueue    = new List <DelayedAction> ();
 }