コード例 #1
0
ファイル: GameMain.cs プロジェクト: lede701/SharpEngine
        public void Spawn()
        {
            float  lastX      = 0;
            Sprite spAsteroid = new Sprite(_gm.LoadImage(asteroidName));

            spAsteroid.AutoDispose = false;
            while (_spawner.IsRunning)
            {
                SpriteAsteroid asteroid = new SpriteAsteroid(spAsteroid);
                do
                {
                    asteroid.Position.X = RandomManager.Instance.Next(100, (int)World.Instance.WorldSize.X - 100);
                } while (lastX > asteroid.Position.X && lastX + 100f < asteroid.Position.X);
                lastX = asteroid.Position.X;
                asteroid.Position.Y = -200;
                asteroid.Velocity.Y = (float)(RandomManager.Instance.Next(500, 4500) / 1000f);
                asteroid.Life       = (float)(RandomManager.Instance.Next(150, 800) / 100f);
                //asteroid.Life = 1000f;
                asteroid.Type            = ObjectType.ENEMY;
                asteroid.EventDestroyed += EnemyDestoryed;
                player.DebugObject       = asteroid;
                SceneManager.Add(asteroid, 5);

                // Wait to spawn another enemy
                int waitTime = RandomManager.Instance.Next(1000, 5000);
                ThreadManager.Sleep(waitTime, _spawner);
            }
            spAsteroid.Dispose();
        }
コード例 #2
0
        public SpriteAsteroid CreateAsteroid(float x, float y, float rotation)
        {
            if (_spriteAsteroid == null)
            {
                _spriteAsteroid = GraphicsManager.Instance.LoadSpriteFromImagePath(String.Format("{0}\\Spritesheets\\asteroid_01.png", AssetPath));
                _spriteAsteroid.Frames.Add(new System.Drawing.Rectangle {
                    X = 0, Y = 0, Width = 120, Height = 120
                });
            }

            SpriteAsteroid sprite = new SpriteAsteroid(_spriteAsteroid);

            sprite.Position.X = x;
            sprite.Position.Y = y;
            sprite.Velocity.X = 0f;
            sprite.Velocity.Y = 0f;
            CircleCollider collider = (CircleCollider)PhysicsFactory.CreateCircleCollider(sprite.Position, 40);

            collider.Center.X = 125f / 2f;
            collider.Center.Y = 125f / 2f;

            sprite.Collider = collider;
            sprite.Life     = (float)(RandomManager.Instance.Next(100, 1200) / 100f);

            return(sprite);
        }
コード例 #3
0
ファイル: UniverseMaster.cs プロジェクト: lede701/SharpEngine
        public void AddAsteroid(float x, float y)
        {
            SpriteAsteroid asteroid = UniverseFactory.Instance.CreateAsteroid(x, y, 0f);
            int            mapX     = (int)(x / World.Instance.ScreenSize.X);
            int            mapY     = (int)(y / World.Instance.ScreenSize.Y);

            //MapData[mapX, mapY].Add(asteroid);
            SceneManager.Instance.Add(asteroid, 4);
            //DebugObj = asteroid;
        }
コード例 #4
0
ファイル: GameNetwork.cs プロジェクト: KtBkkr/Asteria
 private void AddEntityFromFormat(int typeId, string entityData)
 {
     if (typeId == (int)EntityType.Player)
     {
         Character character = new Character(entityData);
         zoneManager.AddEntity(character);
         Logger.Output(this, "AddEntity() added new character ID {0}.", character.Id);
     }
     else if (typeId == (int)EntityType.Unit)
     {
         Unit entity = new Unit(entityData);
         SpriteUnit sprite = new SpriteUnit(entity, TextureManager.Singletone.Get("Windmill"));
         entity.Tag = sprite;
         zoneManager.AddEntity(entity);
         Logger.Output(this, "AddEntity() added new unit ID {0}.", entity.Id);
     }
     else if (typeId == (int)EntityType.EnergyStation)
     {
         EnergyStation station = new EnergyStation(entityData);
         SpriteEnergyStation sprite = new SpriteEnergyStation(station, TextureManager.Singletone.Get("EnergyStation"));
         station.Tag = sprite;
         zoneManager.AddEntity(station);
         Logger.Output(this, "AddEntity() added new energy station ID {0}.", station.Id);
     }
     else if (typeId == (int)EntityType.EnergyRelay)
     {
         EnergyRelay relay = new EnergyRelay(entityData);
         SpriteEnergyRelay sprite = new SpriteEnergyRelay(relay, TextureManager.Singletone.Get("EnergyRelay"));
         relay.Tag = sprite;
         zoneManager.AddEntity(relay);
         Logger.Output(this, "AddEntity() added new energy relay ID {0}.", relay.Id);
     }
     else if (typeId == (int)EntityType.MineralMiner)
     {
         MineralMiner miner = new MineralMiner(entityData);
         SpriteMineralMiner sprite = new SpriteMineralMiner(miner, TextureManager.Singletone.Get("MineralMiner"));
         miner.Tag = sprite;
         zoneManager.AddEntity(miner);
         Logger.Output(this, "AddEntity() added new mineral miner ID {0}.", miner.Id);
     }
     else if (typeId == (int)EntityType.BasicLaser)
     {
         BasicLaser laser = new BasicLaser(entityData);
         zoneManager.AddEntity(laser);
         Logger.Output(this, "AddEntity() added new basic laser ID {0}.", laser.Id);
     }
     else if (typeId == (int)EntityType.PulseLaser)
     {
         PulseLaser laser = new PulseLaser(entityData);
         zoneManager.AddEntity(laser);
         Logger.Output(this, "AddEntity() added new pulse laser ID {0}.", laser.Id);
     }
     else if (typeId == (int)EntityType.TacticalLaser)
     {
         TacticalLaser laser = new TacticalLaser(entityData);
         zoneManager.AddEntity(laser);
         Logger.Output(this, "AddEntity() added new tactical laser ID {0}.", laser.Id);
     }
     else if (typeId == (int)EntityType.Asteroid)
     {
         Asteroid asteroid = new Asteroid(entityData);
         SpriteAsteroid sprite = new SpriteAsteroid(asteroid, TextureManager.Singletone.Get("Asteroid1"));
         asteroid.Tag = sprite;
         zoneManager.AddEntity(asteroid);
         Logger.Output(this, "AddEntity() added new asteroid ID {0}.", asteroid.Id);
     }
     else
     {
         Entity entity = new Entity(entityData);
         zoneManager.AddEntity(entity);
         Logger.Output(this, "AddEntity() added unknown entity type ID {0}.", entity.Id);
     }
 }