public void Init(ITickProcessor tickProcessor, CameraActor mainCamera)
        {
            TickProcessor = tickProcessor;
            Camera        = mainCamera.Component;

            if (_child)
            {
                _child.Init(tickProcessor, mainCamera);
            }

            foreach (var data in _datas)
            {
                _actorDatas.SetAndInitialize(this, Instantiate(data));
            }

            foreach (var behaviour in _behaviours)
            {
                _actorBehaviours.SetAndInitialize(this, Instantiate(behaviour));
            }

            OnInitializeComplete?.Invoke(this, null);
            OnInitializeComplete = null;

            OnAwake();
        }
Exemple #2
0
        public void SetTickProcessor(ITickProcessor tickProcessor)
        {
            if (Processor != null)
            {
                UnityEngine.Object.Destroy(tickProcessor.Processor);
                tickProcessor.Dispose();

                throw new Exception($"Tick processor is already exists");
            }

            Processor = tickProcessor;
        }
Exemple #3
0
 public void AddInputProcessor(ITickProcessor tickProcessor)
 {
     subscribers.Add(tickProcessor);
 }
 public void RemoveTickProcessor(ITickProcessor processor) => removedSubscribers.Add(processor);
 public void AddTickProcessor(ITickProcessor tickProcessor) => subscribers.Add(tickProcessor);