Пример #1
0
        public void Init(
            IEnumerable <PlanetContext> planets,
            GravitySystem gravitySystem,
            SystemsUpdater systemsUpdater,
            HealthsContainer healthsContainer,
            RocketState[] rocketsStates
            )
        {
            MovementSystem = new RocketsMovementSystem(gravitySystem);
            systemsUpdater.AddPhysicsTicker(MovementSystem);
            _rocketsFactory = new RocketsFactory(
                _rockets,
                MovementSystem,
                _rocketsParent,
                healthsContainer,
                _cameraTransform
                );
            _rocketsFactory.CreateRockets(rocketsStates);

            foreach (var planet in planets)
            {
                planet.CannonProvider.SetFactory(_rocketsFactory);
                var cannon = planet.CannonProvider.GetCannon();
                systemsUpdater.AddFrameTicker(cannon);
            }
        }
Пример #2
0
 public void ClearGameEntities()
 {
     _planetsStorage        = null;
     _rocketsMovementSystem = null;
 }
Пример #3
0
 public void SetGameEntities(PlanetsStorage planetsStorage, RocketsMovementSystem movementSystem)
 {
     _planetsStorage        = planetsStorage;
     _rocketsMovementSystem = movementSystem;
 }