Пример #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Danmaku_no_Kyojin.BulletEngine.Mover"/> class.
        /// </summary>
        /// <param name="myBulletManager">My bullet manager.</param>
        public Mover(DnK game, IBulletManager myBulletManager) : base(game, myBulletManager)
        {
            Position = Vector2.Zero;
            Rotation = 0f;

            IsAlive = true;
        }
Пример #2
0
#pragma warning restore 618
        public void TestFixtureSetUp()
        {
            BossManager       = MockRepository.GenerateStub <IBossManager>();
            BulletManager     = MockRepository.GenerateStub <IBulletManager>();
            CollisionManager  = MockRepository.GenerateStub <ICollisionManager>();
            CommandManager    = MockRepository.GenerateStub <ICommandManager>();
            ConfigManager     = MockRepository.GenerateStub <IConfigManager>();
            ContentManager    = MockRepository.GenerateStub <IContentManager>();
            ControlManager    = MockRepository.GenerateStub <IControlManager>();
            DebugManager      = MockRepository.GenerateStub <IDebugManager>();
            DelayManager      = MockRepository.GenerateStub <IDelayManager>();
            DeviceManager     = MockRepository.GenerateStub <IDeviceManager>();
            EnemyManager      = MockRepository.GenerateStub <IEnemyManager>();
            EventManager      = MockRepository.GenerateStub <IEventManager>();
            ExplosionManager  = MockRepository.GenerateStub <IExplosionManager>();
            IconManager       = MockRepository.GenerateStub <IIconManager>();
            ImageManager      = MockRepository.GenerateStub <IImageManager>();
            InputManager      = MockRepository.GenerateStub <IInputManager>();
            LevelManager      = MockRepository.GenerateStub <ILevelManager>();
            MoverManager      = MockRepository.GenerateStub <IMoverManager>();
            RandomManager     = MockRepository.GenerateStub <IRandomManager>();
            RenderManager     = MockRepository.GenerateStub <IRenderManager>();
            ResolutionManager = MockRepository.GenerateStub <IResolutionManager>();
            ScoreManager      = MockRepository.GenerateStub <IScoreManager>();
            ScreenManager     = MockRepository.GenerateStub <IScreenManager>();
            SoundManager      = MockRepository.GenerateStub <ISoundManager>();
            SpriteManager     = MockRepository.GenerateStub <ISpriteManager>();
            StateManager      = MockRepository.GenerateStub <IStateManager>();
            StopwatchManager  = MockRepository.GenerateStub <IStopwatchManager>();
            StorageManager    = MockRepository.GenerateStub <IStorageManager>();
            TextManager       = MockRepository.GenerateStub <ITextManager>();
            ThreadManager     = MockRepository.GenerateStub <IThreadManager>();
            FileManager       = MockRepository.GenerateStub <IFileManager>();
            Logger            = MockRepository.GenerateStub <ILogger>();
        }
Пример #3
0
#pragma warning restore 618
        public void TestFixtureTearDown()
        {
            BossManager       = null;
            BulletManager     = null;
            CollisionManager  = null;
            CommandManager    = null;
            ConfigManager     = null;
            ContentManager    = null;
            ControlManager    = null;
            DebugManager      = null;
            DelayManager      = null;
            DeviceManager     = null;
            EnemyManager      = null;
            EventManager      = null;
            ExplosionManager  = null;
            IconManager       = null;
            ImageManager      = null;
            InputManager      = null;
            LevelManager      = null;
            MoverManager      = null;
            RandomManager     = null;
            RenderManager     = null;
            ResolutionManager = null;
            ScoreManager      = null;
            ScreenManager     = null;
            SoundManager      = null;
            SpriteManager     = null;
            StateManager      = null;
            StopwatchManager  = null;
            StorageManager    = null;
            TextManager       = null;
            ThreadManager     = null;
            FileManager       = null;
            Logger            = null;
        }
Пример #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DanmakuNoKyojin.BulletEngine.Mover"/> class.
        /// </summary>
        /// <param name="gameRef">Game reference</param>
        /// <param name="myBulletManager">My bullet manager.</param>
        public Mover(GameRunner gameRef, IBulletManager myBulletManager) : base(gameRef, myBulletManager)
        {
            Position = Vector2.Zero;
            Rotation = 0f;

            IsAlive = true;
        }
Пример #5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Danmaku_no_Kyojin.BulletEngine.Mover"/> class.
        /// </summary>
        /// <param name="gameRef">Game reference</param>
        /// <param name="myBulletManager">My bullet manager.</param>
        public Mover(DnK gameRef, IBulletManager myBulletManager)
            : base(gameRef, myBulletManager)
        {
            Position = Vector2.Zero;
            Rotation = 0f;

            IsAlive = true;
        }
Пример #6
0
        /// <summary>
        /// Run this task and all subtasks against a bullet
        /// This is called once a frame during runtime.
        /// </summary>
        /// <returns>ERunStatus: whether this task is done, paused, or still running</returns>
        /// <param name="bullet">The bullet to update this task against.</param>
        public override ERunStatus Run(Bullet bullet)
        {
            //remove the bullet via the bullet manager interface
            IBulletManager manager = bullet.MyBulletManager;

            System.Diagnostics.Debug.Assert(null != manager);
            manager.RemoveBullet(bullet);
            return(ERunStatus.End);
        }
Пример #7
0
        /// <summary>
        /// Initializes a new instance of the <see cref="BulletML.Bullet"/> class.
        /// </summary>
        /// <param name="bulletManager">A bullet manager.</param>
        protected Bullet(IBulletManager bulletManager)
        {
            Debug.Assert(null != bulletManager);

            _bulletManager = bulletManager;
            Acceleration   = Vector2.Zero;
            Tasks          = new List <BulletMLTask>();
            Color          = Color.White;
            Scale          = 1f;
        }
Пример #8
0
        /// <summary>
        /// Initializes a new instance of the <see cref="BulletMLLib.Bullet"/> class.
        /// </summary>
        /// <param name="myBulletManager">My bullet manager.</param>
        public Bullet(DnK gameRef, IBulletManager myBulletManager)
            : base(gameRef)
        {
            //grba the bullet manager for this dude
            Debug.Assert(null != myBulletManager);
            _bulletManager = myBulletManager;

            Acceleration = Vector2.Zero;

            _tasks = new List<BulletMLTask>();
            _fireData = new List<FireData>();
        }
Пример #9
0
        /// <summary>
        /// Initializes a new instance of the <see cref="BulletMLLib.Bullet"/> class.
        /// </summary>
        /// <param name="myBulletManager">My bullet manager.</param>
        public Bullet(DnK gameRef, IBulletManager myBulletManager)
            : base(gameRef)
        {
            //grba the bullet manager for this dude
            Debug.Assert(null != myBulletManager);
            _bulletManager = myBulletManager;

            Acceleration = Vector2.Zero;

            _tasks    = new List <BulletMLTask>();
            _fireData = new List <FireData>();
        }
Пример #10
0
        /// <summary>
        /// Initializes a new instance of the <see cref="BulletMLLib.Bullet"/> class.
        /// </summary>
        /// <param name="myBulletManager">My bullet manager.</param>
        public Bullet(IBulletManager myBulletManager)
        {
            //grba the bullet manager for this dude
            System.Diagnostics.Debug.Assert(null != myBulletManager);
            _bulletManager = myBulletManager;

            Acceleration = Vector2.zero;

            Tasks = new List <BulletMLTask>();

            //init these to the default
            TimeSpeed = 1.0f;
            Scale     = 1.0f;
        }
Пример #11
0
        /// <summary>
        /// Initializes a new instance of the <see cref="BulletMLLib.Bullet"/> class.
        /// </summary>
        /// <param name="myBulletManager">My bullet manager.</param>
        protected Bullet(IBulletManager myBulletManager)
        {
            //grba the bullet manager for this dude
            Debug.Assert(null != myBulletManager);
            _bulletManager = myBulletManager;

            Acceleration = Vector2.Zero;

            Tasks = new List <BulletMLTask>();

            //init these to the default
            TimeSpeed = 1.0f;
            Scale     = 1.0f;
        }
Пример #12
0
        /// <summary>
        /// Initializes a new instance of the <see cref="BulletMLLib.Bullet"/> class.
        /// </summary>
        /// <param name="myBulletManager">My bullet manager.</param>
        public Bullet(IBulletManager myBulletManager)
        {
            //grba the bullet manager for this dude
              System.Diagnostics.Debug.Assert(null != myBulletManager);
              _bulletManager = myBulletManager;

              Acceleration = Vector2.zero;

              Tasks = new List<BulletMLTask>();

              //init these to the default
              TimeSpeed = 1.0f;
              Scale = 1.0f;
        }
        public void StartTransmittingData(IPlayerManager playerManager, IShipManager shipManager
                                          , IBulletManager bulletManager, BulletCollision bulletCollision, ShipCollision shipCollision)
        {
            playerManager.SendPlayerPosition          += shipManager.ReceivePlayerPosition;
            shipManager.SendShipsPositions            += bulletManager.ReceiveShipsPositions;
            shipManager.SendNewWeapons                += bulletManager.SubscribeForNewWeapons;
            bulletCollision.bulletCollision           += bulletManager.OnBulletCollision;
            bulletCollision.bulletCollidesWithAShip   += shipManager.OnBulletCollision;
            bulletCollision.bulletCollidesWithAShip   += playerManager.OnBulletCollision;
            shipCollision.shipCollidesWithAnotherShip += shipManager.OnShipCollision;

            shipManager.SendMessageWhenShipDestroyed += playerManager.UpdateScore;

            shipManager.ShipCollidesWithPlayer += playerManager.UpdateHealth;
        }
Пример #14
0
        public Game()
        {
            this.satellite     = new Satellite();
            this.playerManager = new PlayerManager();
            this.bulletManager = new BulletManager();
            this.shipManager   = new ShipManager();

            this.bulletCollision = new BulletCollision();
            this.shipCollision   = new ShipCollision();

            this.satellite.StartTransmittingData(playerManager, shipManager,
                                                 bulletManager, bulletCollision, shipCollision);

            this.shipManager.GenerateShips();
            this.playerManager.CreatePlayer(shipManager.BuildShip(ShipType.PlayerShip));
        }
Пример #15
0
        /// <summary>
        /// Initializes a new instance of the <see cref="BulletMLLib.Bullet"/> class.
        /// </summary>
        /// <param name="myBulletManager">My bullet manager.</param>
        public Bullet(IBulletManager myBulletManager)
        {
            //grba the bullet manager for this dude
            Debug.Assert(null != myBulletManager);
            _bulletManager = myBulletManager;

            AccelerationX     = 0f;
            AccelerationY     = 0f;
            HasSpawnedBullets = false;

            Tasks = new List <BulletMLTask>();

            //init these to the default
            TimeSpeed = 1.0f;
            Scale     = 1.0f;
        }
Пример #16
0
    public void Init(GameObject bullet, Vector2 position)
    {
        _dataManager      = GameClient.Get <IDataManager>();
        _levelManager     = GameClient.Get <ILevelManager>();
        _bulletManager    = GameClient.Get <IBulletManager>();
        _spiderManager    = GameClient.Get <ISpiderManager>();
        _mushroomManager  = GameClient.Get <IMushroomManager>();
        _centipedeManager = GameClient.Get <ICentipedeManager>();

        _bullet   = bullet.transform;
        _position = position;

        _speed  = _dataManager.GameBalanceData.Game.GetBulletSpeed();
        _damage = _dataManager.GameBalanceData.Game.GetBulletDamage();

        _gridMaxHeight = _dataManager.GameBalanceData.Game.GetGridSize().y;

        _bullet.transform.position = _position;
        _bullet.gameObject.SetActive(true);

        _targetPosition = _bullet.position;
        _canMove        = true;
    }
Пример #17
0
        public PlayerShip(GameWrapper i_Game)
            : base(i_Game)
        {
            m_Keys = new List<KeyManager>();
            m_ShootKey = new KeyManager(Game);
            m_Keys.Add(m_ShootKey);
            m_MoveRightKey = new KeyManager(Game);
            m_Keys.Add(m_MoveRightKey);
            m_MoveLeftKey = new KeyManager(Game);
            m_Keys.Add(m_MoveLeftKey);

            m_BulletManager = new BulletManager(Game);
            m_BulletManager.MaxActiveBullets = k_MaxShotsFired;
            m_BulletManager.BulletHit += BulletManager_BulletHit;

            Lives = k_InitNumOfLives;
            this.Color = Color.White;
            m_PlayerScore = 0;
            m_ShootKey.KeyWasPressed += ShootKey_KeyWasPressed;
            m_IsAlive = true;
            TexturePath = @"Sprites/Ships_32x32";
            this.IsPartOfTexture = true;
        }
Пример #18
0
 float Eval(float[] paramValues = null, IBulletManager m = null)
 {
     return(eq.Eval(m ?? defaultManager, i => paramValues[i - 1]));
 }
 public BulletObject(IBulletManager myBulletManager)
     : base(myBulletManager)
 {
 }
Пример #20
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BulletMLSample.Mover"/> class.
 /// </summary>
 /// <param name="myBulletManager">My bullet manager.</param>
 public Mover(IBulletManager myBulletManager) : base(myBulletManager)
 {
 }
Пример #21
0
 public Mover(IBulletManager bulletManager) : base(bulletManager)
 {
     _currentSpriteIndex = SpriteIndex;
     Texture             = ((MoverManager)BulletManager).BulletTextures[SpriteIndex];
 }
Пример #22
0
 /// <summary>
 /// Gets the value of this node for a specific instance of a task.
 /// </summary>
 /// <returns>The value.</returns>
 /// <param name="task">Task.</param>
 public float GetValue(BulletMLTask task, IBulletManager manager)
 {
     //send to the equation for an answer
     // TODO
     return(NodeEquation.Eval(manager, task.GetParamValue));
 }
Пример #23
0
    public void Init(GameObject player)
    {
        _player = player;

        _bulletManager = GameClient.Get <IBulletManager>();
    }
Пример #24
0
 public GameManager
 (
     IBossManager bossManager,
     IBulletManager bulletManager,
     ICollisionManager collisionManager,
     ICommandManager commandManager,
     IConfigManager configManager,
     IContentManager contentManager,
     IControlManager controlManager,
     IDebugManager debugManager,
     IDelayManager delayManager,
     IDeviceManager deviceManager,
     IEnemyManager enemyManager,
     IEventManager eventManager,
     IExplosionManager explosionManager,
     IIconManager iconManager,
     IImageManager imageManager,
     IInputManager inputManager,
     ILevelManager levelManager,
     IMoverManager moverManager,
     IRandomManager randomManager,
     IRenderManager renderManager,
     IResolutionManager resolutionManager,
     IScoreManager scoreManager,
     IScreenManager screenManager,
     ISoundManager soundManager,
     ISpriteManager spriteManager,
     IStateManager stateManager,
     IStopwatchManager stopwatchManager,
     IStorageManager storageManager,
     ITextManager textManager,
     IThreadManager threadManager,
     IFileManager fileManager,
     ILogger logger
 )
 {
     BossManager       = bossManager;
     BulletManager     = bulletManager;
     CollisionManager  = collisionManager;
     CommandManager    = commandManager;
     ConfigManager     = configManager;
     ContentManager    = contentManager;
     ControlManager    = controlManager;
     DebugManager      = debugManager;
     DelayManager      = delayManager;
     DeviceManager     = deviceManager;
     EnemyManager      = enemyManager;
     EventManager      = eventManager;
     ExplosionManager  = explosionManager;
     ImageManager      = imageManager;
     IconManager       = iconManager;
     InputManager      = inputManager;
     LevelManager      = levelManager;
     MoverManager      = moverManager;
     RandomManager     = randomManager;
     RenderManager     = renderManager;
     ResolutionManager = resolutionManager;
     ScoreManager      = scoreManager;
     ScreenManager     = screenManager;
     SoundManager      = soundManager;
     SpriteManager     = spriteManager;
     StateManager      = stateManager;
     StopwatchManager  = stopwatchManager;
     StorageManager    = storageManager;
     TextManager       = textManager;
     ThreadManager     = threadManager;
     FileManager       = fileManager;
     Logger            = logger;
 }
Пример #25
0
        public float Eval(IBulletManager manager, Func <int, float> paramResolver)
        {
            if (rpn == null)
            {
                return(0);
            }

            Stack <float> stack = new Stack <float>();

            foreach (Ast next in rpn)
            {
                if (next is Number)
                {
                    stack.Push(((Number)next).Value);
                }
                else if (next is Param)
                {
                    int   index = ((Param)next).Index;
                    float result;
                    try
                    {
                        result = paramResolver(index);
                    } catch (Exception e)
                    {
                        throw new InvalidOperationException("Evaluating parameter caused an exception.", e);
                    }
                    stack.Push(result);
                }
                else if (next is Rank)
                {
                    stack.Push(manager.GameDifficulty);
                }
                else if (next is Rand)
                {
                    stack.Push(manager.Random);
                }
                else if (next is Operator)
                {
                    if (stack.Count < 2)
                    {
                        throw new InvalidOperationException("Not enough values left on stack to apply operation.");
                    }
                    float rhs = stack.Pop();
                    float lhs = stack.Pop();
                    stack.Push(((Operator)next).Apply(lhs, rhs));
                }
                else
                {
                    throw new InvalidOperationException("Unknown value in stack [" + next + "].");
                }
            }

            if (stack.Count > 1)
            {
                throw new InvalidOperationException("Expression couldn't be evaluated.");
            }
            else if (stack.Count == 0)
            {
                return(0);
            }
            else
            {
                return(stack.Pop());
            }
        }
Пример #26
0
 public Mover(XmasHell game, IBulletManager bulletManager, bool topBullet = false) : base(bulletManager)
 {
     _currentSpriteIndex = SpriteIndex;
     _game     = game;
     TopBullet = topBullet;
 }
Пример #27
0
 public Mover(IBulletManager bulletManager) : base(bulletManager)
 {
 }