예제 #1
0
파일: Ship.cs 프로젝트: algor1/wing
        //public void SendEvent(ShipEvenentsType evnt)
        //{
        //    onland?.Invoke(p.SO.id);
        //    Console.WriteLine("onland");

        //}


        #region user commands
        public void SetTarget(SpaceObject newTarget)
        {
            NewTargetToMove  = newTarget;
            NewTargetToAtack = newTarget.Type == TypeSO.ship ? newTarget : null;
            Console.WriteLine("{0} id {1} target to move {2} , target to atack {3}", newTarget.Type, p.Id, NewTargetToMove.Id, NewTargetToAtack.Id);
        }
예제 #2
0
 internal SpaceCraft(SpaceObject source)
 {
     View = source;
 }
예제 #3
0
 public PlanetView(SpaceObject model)
 {
     _model = model;
     model.addEventListener(Event.CHANGE, onNextTick);
     this.setRSPointToCenter();
 }
예제 #4
0
        public void AddObject(SpaceObject source)
        {
            SpaceCraft creature = null;

            bool reset = false;

            for (int i = /*10*/ 0; i < _gameObjects.Count /*_amountOfObjects*/; i++)
            {
                if (source == _gameObjects[i].View && !_gameObjects[i].Active)
                {
                    ResetObject(_gameObjects[i]);
                    reset = true;
                    break;
                }
            }

            if (!reset)
            {
                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;
                }

                _gameObjects.Add(creature);
                ++_amountOfObjects;
            }



            //if (_amountOfObjects >= _gameObjects.Length - 1)
            //{
            //    Array.Resize(ref _gameObjects, _gameObjects.Length * 2);
            //}

            //for (int i = /*10*/0; i <= _gameObjects.Count/*_amountOfObjects*/; i++)
            //{
            //    if (_gameObjects[i] is null)
            //    {
            //        _gameObjects[i] = creature;
            //        ++_amountOfObjects;

            //        break;
            //    }

            //    if (!_gameObjects[i].Active)
            //    {
            //        _gameObjects[i] = creature;
            //        break;
            //    }

            //    if (i == _gameObjects.Count - 1)
            //    {
            //        _gameObjects.Add(creature);
            //        break;
            //    }
            //}
        }