motkot
@motkot
Программирование C#.

Как получить компонент с обьекта? ( LeoEcs + UniLeo )?

Здраствуйте!

Недавно начал изучать Ecs и сделал вот такую фабрику:

public class StreetHeroesFactory : IEcsInitSystem
    {
        private readonly List<Hero> _playerHeroes;
        private readonly MovePoint[] _spawnPoints;
        
        public void Init()
        {
            foreach (var hero in _playerHeroes)
            {
                var randomPoint = GetRandomSpawnPoint();

                var heroObject = Object.Instantiate(hero.MoveHeroObject, randomPoint.Transform.position, Quaternion.identity);
            }
        }
        
        public MovePoint GetRandomSpawnPoint() =>
            _spawnPoints[Random.Range(0, _spawnPoints.Length)];
    }


Фабрика спавнит персонажей в точках спавна. Но в классе MovePoint есть массив с еще точками по которым ходит персонаж. Нужно чтобы при спавне персонажа ему передавался его массив точек по которым он ходит. Так вот, как это сделать? Если список должен хранится вот так:

[Serializable]
    public struct MovingHeroComponent
    {
        public float StayTime;

        [HideInInspector] public Transform[] MovePoints; // вот точки
    }

    public class MoveHeroComponentProvider : MonoProvider<MovingHeroComponent>
    {
        
    }


Буду благодарен за любую помощь!
  • Вопрос задан
  • 91 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы