public Space(int capacity = 13, int speed = 600) { _gameObjects = new SpaceCraft[capacity]; _amountOfObjects = 0; _counterProduceEnemy = 0; _speed = speed; AddObject(SpaceObject.LightShip); }
public void AddObject(SpaceObject source) { SpaceCraft creature = null; switch (source) { case SpaceObject.None: break; case SpaceObject.LightShip: creature = new LightShip(this, _initialX, _initialY, _active, _shipSpeed, _counter, _hitpoints, _lifes); break; case SpaceObject.HeavyShip: creature = new HeavyShip(this, _initialX, _initialY, _active, _shipSpeed, _counter, _hitpoints, _lifes); break; case SpaceObject.EnemyShip: creature = AddEnemy(); break; case SpaceObject.ShotLeft: creature = AddShot(_leftShift); break; case SpaceObject.ShotRight: creature = AddShot(_rightShift); break; case SpaceObject.ShotEnemy: creature = AddEnemyShot(_shotEnemyShift); break; default: break; } if (_amountOfObjects >= _gameObjects.Length - 1) { Array.Resize(ref _gameObjects, _gameObjects.Length * 2); } for (int i = 0; i <= _amountOfObjects; i++) { if (_gameObjects[i] is null) { _gameObjects[i] = creature; ++_amountOfObjects; break; } if (!_gameObjects[i].Active) { _gameObjects[i] = creature; break; } } }