コード例 #1
0
 public Meteor(GameContext gameContext, IMeteorStrategy meteorStrategy, IHealthComponent healthComponent, IComponent <IGameObject> physicsComponent, IDrawableComponent <IGameObject> graphicsComponent)
 {
     _gameContext       = gameContext ?? throw new ArgumentNullException(nameof(gameContext));
     _meteorStrategy    = meteorStrategy ?? throw new ArgumentNullException(nameof(meteorStrategy));
     _healthComponent   = healthComponent ?? throw new ArgumentNullException(nameof(healthComponent));
     _physicsComponent  = physicsComponent ?? throw new ArgumentNullException(nameof(physicsComponent));
     _graphicsComponent = graphicsComponent ?? throw new ArgumentNullException(nameof(graphicsComponent));
 }
コード例 #2
0
        public MeteorFactory(GameContext gameContext)
        {
            _gameContext          = gameContext ?? throw new ArgumentNullException(nameof(gameContext));
            _random               = gameContext.Random ?? throw new ArgumentNullException(nameof(gameContext.Random));
            _bigMeteorStrategy    = new BigMeteorStrategy();
            _mediumMeteorStrategy = new MediumMeteorStrategy();
            _smallMeteorStrategy  = new SmallMeteorStrategy();
            _tinyMeteorStrategy   = new TinyMeteorStrategy();

            _bigMeteorSprite    = new Sprite(_gameContext.AssetManager.GetTexture(GameConstants.MeteorConstants.BigMeteorConstants.BigMeteor1Constants.Textures.BrownTextureName));
            _mediumMeteorSprite = new Sprite(_gameContext.AssetManager.GetTexture(GameConstants.MeteorConstants.MediumMeteorConstants.MediumMeteor1Constants.Textures.BrownTextureName));
            _smallMeteorSprite  = new Sprite(_gameContext.AssetManager.GetTexture(GameConstants.MeteorConstants.SmallMeteorConstants.SmallMeteor2Constants.Textures.BrownTextureName));
            _tinyMeteorSprite   = new Sprite(_gameContext.AssetManager.GetTexture(GameConstants.MeteorConstants.TinyMeteorConstants.TinyMeteor2Constants.Textures.BrownTextureName));
        }