protected virtual void HandleProjectileMoved(ProjectilesMovedSignal s)
 {
     if (!s.ProjectilesPositions.TryGetValue(EntityView.EntityGuid, out var position))
     {
         return;
     }
     entityTransform.position = position;
 }
        public override void Update()
        {
            base.Update();

            var projectilesCount = Data.Count;

            if (projectilesCount == 0)
            {
                return;
            }

            var projectilesMovedSignal = new ProjectilesMovedSignal();

            for (int i = 0; i < projectilesCount; i++)
            {
                var projectileData = Data[i];
                projectileData.UpdatePosition(Time.deltaTime);

                projectilesMovedSignal.AddProjectilePosition(
                    projectileData.EntityGuid, projectileData.ProjectilePosition);
            }

            Manager.SignalBus.Fire(projectilesMovedSignal);
        }