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(); }
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; }
public void AddInputProcessor(ITickProcessor tickProcessor) { subscribers.Add(tickProcessor); }
public void RemoveTickProcessor(ITickProcessor processor) => removedSubscribers.Add(processor);
public void AddTickProcessor(ITickProcessor tickProcessor) => subscribers.Add(tickProcessor);