예제 #1
0
        private void InitPlayerShip()
        {
            Entity e = world.CreateEntity();

            e.SetGroup("SHIPS");

            e.AddComponent(pool.TakeComponent <Transform>());
            e.AddComponent(pool.TakeComponent <SpatialForm>());
            e.AddComponent(pool.TakeComponent <Health>());
            e.GetComponent <SpatialForm>().SetSpatialFormFile("PlayerShip");
            e.GetComponent <Health>().SetHealth(30);
            e.GetComponent <Transform>().SetCoords(new Vector3(GraphicsDevice.Viewport.Width / 2, GraphicsDevice.Viewport.Height - 50, 0));
            e.Refresh();
            world.GetTagManager().Register("PLAYER", e);
        }
        public static Entity CreateMissile(EntityWorld world)
        {
            Entity   missile = world.CreateEntity();
            GamePool pool    = (GamePool)world.GetPool();

            missile.SetGroup("BULLETS");

            missile.AddComponent(pool.TakeComponent <Transform>());
            missile.AddComponent(pool.TakeComponent <SpatialForm>());
            missile.AddComponent(pool.TakeComponent <Velocity>());
            missile.AddComponent(pool.TakeComponent <Expires>());
            missile.GetComponent <SpatialForm>().SetSpatialFormFile("Missile");
            missile.GetComponent <Expires>().SetLifeTime(2000);
            return(missile);
        }
        public static Entity CreateShipExplosion(EntityWorld world, float x, float y)
        {
            Entity   e    = world.CreateEntity();
            GamePool pool = (GamePool)world.GetPool();

            e.SetGroup("EFFECTS");

            e.AddComponent(pool.TakeComponent <Transform>());
            e.AddComponent(pool.TakeComponent <SpatialForm>());
            e.AddComponent(pool.TakeComponent <Expires>());
            e.GetComponent <SpatialForm>().SetSpatialFormFile("ShipExplosion");
            e.GetComponent <Transform>().SetCoords(new Vector3(x, y, 0));
            e.GetComponent <Expires>().SetLifeTime(1000);
            return(e);
        }
예제 #4
0
        public static Entity CreateBulletExplosion(EntityWorld world, float x, float y)
        {
            Entity   e    = world.CreateEntity();
            GamePool pool = (GamePool)world.Pool;

            e.SetGroup("EFFECTS");

            e.AddComponent(pool.TakeComponent <Transform>());
            e.AddComponent(pool.TakeComponent <SpatialForm>());
            e.AddComponent(pool.TakeComponent <Expires>());
            e.GetComponent <SpatialForm>().SpatialFormFile = "BulletExplosion";
            e.GetComponent <Expires>().LifeTime            = 1000;
            e.GetComponent <Transform>().Coords            = new Vector3(x, y, 0);
            return(e);
        }
        public static Entity CreateEnemyShip(EntityWorld world)
        {
            Entity e = world.CreateEntity();

            e.SetGroup("SHIPS");
            GamePool pool = (GamePool)world.GetPool();

            e.AddComponent(pool.TakeComponent <Transform>());
            e.AddComponent(pool.TakeComponent <SpatialForm>());
            e.AddComponent(pool.TakeComponent <Health>());
            e.AddComponent(pool.TakeComponent <Weapon>());
            e.AddComponent(pool.TakeComponent <Enemy>());
            e.AddComponent(pool.TakeComponent <Velocity>());
            e.GetComponent <SpatialForm>().SetSpatialFormFile("EnemyShip");
            e.GetComponent <Health>().SetHealth(10);
            return(e);
        }