本文整理汇总了C#中Artemis.EntityWorld类的典型用法代码示例。如果您正苦于以下问题:C# EntityWorld类的具体用法?C# EntityWorld怎么用?C# EntityWorld使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
EntityWorld类属于Artemis命名空间,在下文中一共展示了EntityWorld类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Initialize
/// <summary>
/// Allows the game to perform any initialization it needs to before starting to run.
/// This is where it can query for any required services and load any non-graphic
/// related content. Calling base.Initialize will enumerate through any components
/// and initialize them as well.
/// </summary>
protected override void Initialize()
{
// Create a new SpriteBatch, which can be used to draw textures.
this.spriteBatch = new SpriteBatch(GraphicsDevice);
// TODO: Add your initialization logic here
this.world = new EntityWorld();
this.world.SystemManager.SetSystem(new PlayerShipControlSystem(), ExecutionType.Update);
this.world.SystemManager.SetSystem(new MovementSystem(this.GraphicsDevice), ExecutionType.Update);
this.world.SystemManager.SetSystem(new RenderSystem(GraphicsDevice, this.spriteBatch), ExecutionType.Draw);
this.world.SystemManager.InitializeAll();
// initialize player
Entity entity = this.world.CreateEntity();
entity.AddComponent(new Placement(
new Vector2(this.GraphicsDevice.Viewport.Width / 2, this.GraphicsDevice.Viewport.Height / 2),
270.0f
));
entity.AddComponent(new Acceleration());
entity.AddComponent(new Velocity());
entity.AddComponent(new SpatialForm(SpatialForms.Player));
entity.Refresh();
entity.Tag = "PLAYER";
base.Initialize();
}
示例2: Start
public void Start()
{
GameWindow.Window = new RenderWindow(new VideoMode(1280, 720), "Subject2Change");
GameWindow.Window.SetFramerateLimit(120);
GameWindow.Window.SetVisible(true);
GameWindow.Window.Closed += OnClosed;
GameWindow.Window.KeyPressed += GameEventHandler.OnKeyPressed;
GameWindow.Window.Resized += GameEventHandler.OnResized;
GameWindow.Window.KeyReleased += GameEventHandler.OnKeyReleased;
_world = new EntityWorld(false, true, true);
//Entity camera = _world.CreateEntityFromTemplate("camera");
EntityFactory.CreatePlayer(_world);
Sprite testSprite = SFMLwrap.LoadSprite("test.png", SFMLwrap.DefaultScale);
while (GameWindow.Window.IsOpen())
{
GameWindow.Window.DispatchEvents();
GameWindow.Window.Clear(Color.Blue);
testSprite.Position = EntityFactory.Player.GetComponent<TransformC>().Position;
_world.Update();
//SpriteBatch batch = new SpriteBatch(GameWindow.Window);
GameWindow.Window.Draw(testSprite);
GameWindow.Window.Display();
}
}
示例3: BuildEntity
public Entity BuildEntity(Entity et1, EntityWorld world , params object[] args)
{
et1.AddComponent(new Power());
et1.GetComponent<Power>().POWER = 100;
et1.Refresh();
return et1;
}
示例4: BattleWorld
public BattleWorld(IHeroesService heroesService, GraphicResources graphicResources)
{
_heroesService = heroesService;
_content = graphicResources.Content;
_entityWorld = new EntityWorld();
var systemManager = _entityWorld.SystemManager;
EntityCreator entityCreator = new EntityCreator(_entityWorld);
BattleEngine.EntityCreator = entityCreator;
_fighterManager = new FighterManager(_entityWorld);
EntitySystem.BlackBoard.SetEntry("Resources", graphicResources);
systemManager.SetSystem(new CharacterPlacingSystem(graphicResources), GameLoopType.Update, 0);
systemManager.SetSystem(new EffectManagerSystem(), GameLoopType.Update, 0);
systemManager.SetSystem(new MovingSystem(), GameLoopType.Update, 1);
systemManager.SetSystem(new ActingSystem(), GameLoopType.Update, 3);
systemManager.SetSystem(new AISkillSelectionSystem(_fighterManager), GameLoopType.Update, 4);
systemManager.SetSystem(new ExpirationSystem(), GameLoopType.Update, 5);
systemManager.SetSystem(new InputSkillSelectionSystem(_fighterManager, graphicResources), GameLoopType.Update, 5);
systemManager.SetSystem(new AnimationSystem(entityCreator), GameLoopType.Update, 5);
systemManager.SetSystem(new ParticleGeneratorSystem(), GameLoopType.Update, 5);
systemManager.SetSystem(new ImageRenderingSystem(graphicResources), GameLoopType.Draw, 0);
systemManager.SetSystem(new CharacterInfoRenderingSystem(graphicResources), GameLoopType.Draw, 1);
systemManager.SetSystem(new ParticleRenderingSystem(graphicResources), GameLoopType.Draw, 1);
systemManager.SetSystem(new ColoredTextRenderingSystem(graphicResources), GameLoopType.Draw, 2);
systemManager.SetSystem(new InputSkillSelectionRenderingSystem(graphicResources), GameLoopType.Draw, 2);
}
示例5: Initialize
protected override void Initialize()
{
// Create a new SpriteBatch, which can be used to draw textures.
Type[] types = new Type[] {typeof(Enemy),typeof(Expires),typeof(Health),typeof(SpatialForm),typeof(Transform),typeof(Velocity),typeof(Weapon)};
pool = new GamePool(100,types);
pool.Initialize();
spriteBatch = new SpriteBatch(GraphicsDevice);
world = new EntityWorld();
world.GetEntityManager().RemovedComponentEvent += new RemovedComponentHandler(RemovedComponent);
world.SetPool(pool);
font = Content.Load<SpriteFont>("Arial");
SystemManager systemManager = world.GetSystemManager();
renderSystem = systemManager.SetSystem(new RenderSystem(GraphicsDevice,spriteBatch,Content),ExecutionType.Draw);
hudRenderSystem = systemManager.SetSystem(new HudRenderSystem(spriteBatch, font), ExecutionType.Draw);
controlSystem = systemManager.SetSystem(new MovementSystem(spriteBatch), ExecutionType.Update,1);
movementSystem = systemManager.SetSystem(new PlayerShipControlSystem(spriteBatch),ExecutionType.Update);
enemyShooterSystem = systemManager.SetSystem(new EnemyShipMovementSystem(spriteBatch), ExecutionType.Update,1);
enemyShipMovementSystem = systemManager.SetSystem(new EnemyShooterSystem(), ExecutionType.Update);
collisionSystem = systemManager.SetSystem(new CollisionSystem(), ExecutionType.Update,1);
healthBarRenderSystem = systemManager.SetSystem(new HealthBarRenderSystem(spriteBatch, font), ExecutionType.Draw);
enemySpawnSystem = systemManager.SetSystem(new EnemySpawnSystem(500, spriteBatch), ExecutionType.Update);
expirationSystem = systemManager.SetSystem(new ExpirationSystem(), ExecutionType.Update);
systemManager.InitializeAll();
InitPlayerShip();
InitEnemyShips();
base.Initialize();
}
示例6: Intro
private IEnumerable Intro(Story story, EntityWorld world)
{
var bgGenerator = ServiceLocator.Instance.GetService<SpaceBackgroundGeneratorService>();
bgGenerator.GenerateBackground(world, 12345);
var entity = world.CreateStoryOverlay(Properties.Resources.String_ActOne_Intro01);
yield return Coroutine.WaitFor(TimeSpan.FromSeconds(2));
entity.FadeGuiElement(TimeSpan.FromSeconds(1.5), 0)
.OnDone = () => entity.Delete();
yield return Coroutine.WaitFor(TimeSpan.FromSeconds(2));
var variant = new ShipVariant
{
HullId = "Jormugand",
TrimDecalColor = Color.Cyan,
BaseDecalColor = new Color(212, 113, 108),
};
_playerEntity = world.CreateShip(variant, new Vector2(500,0),0, physics:true);
_playerEntity.Tag = "PlayerShip";
_playerEntity.Refresh();
var cameraControl = world.SystemManager.GetSystem<Systems.CameraControlSystem>();
cameraControl.Mode = Systems.CameraMode.FollowEntity;
cameraControl.FollowedEntity = _playerEntity;
var test = world.CreateShip("mobius", new Vector2(0, 0), MathHelper.Pi * 1.5f, physics:true);
test.GetComponent<ShipModelComponent>().BaseDecalColor = Color.Khaki;
story.State.Fire(Story.Triggers.NextScene);
yield return null;
}
示例7: AttributesTestsMethod
public void AttributesTestsMethod()
{
EntityWorld world = new EntityWorld();
world.PoolCleanupDelay = 1;
world.InitializeAll();
Debug.Assert(world.SystemManager.Systems.Size == 2);
Entity et = world.CreateEntity();
var power = et.AddComponentFromPool<Power2>();
power.POWER = 100;
et.Refresh();
Entity et1 = world.CreateEntityFromTemplate("teste");
Debug.Assert(et1 != null);
{
world.Update(0, ExecutionType.UpdateSynchronous);
}
et.RemoveComponent<Power2>();
et.Refresh();
{
world.Update(0, ExecutionType.UpdateSynchronous);
}
et.AddComponentFromPool<Power2>();
et.GetComponent<Power2>().POWER = 100;
et.Refresh();
world.Update(0, ExecutionType.UpdateSynchronous);
}
示例8: CreateTestHealthEntityWithId
/// <summary>Creates the test health entity with ID.</summary>
/// <param name="entityWorld">The entity world.</param>
/// <param name="id">The id.</param>
/// <returns>The Entity.</returns>
public static Entity CreateTestHealthEntityWithId(EntityWorld entityWorld, long id)
{
Entity entity = entityWorld.CreateEntity(id);
entity.AddComponent(new TestHealthComponent());
entity.GetComponent<TestHealthComponent>().Points = 100;
return entity;
}
示例9: SpriteSystem
public SpriteSystem(EntityWorld world)
: base(Aspect.All(
typeof(Sprite),
typeof(Renderable),
typeof(Position)))
{
_world = world;
}
示例10: Initialize
public void Initialize(EntityWorld entityWorld, IEntityFactory entityFactory)
{
_entityWorld = entityWorld;
EntityFactory = entityFactory;
_entityWorld.EntityManager.AddedEntityEvent += OnEntityAdded;
_entityWorld.EntityManager.RemovedEntityEvent += OnEntityRemoved;
}
示例11: BuildEntity
public Entity BuildEntity(Entity e, EntityWorld world, params object[] args)
{
e.AddComponent(new Position());
e.Refresh();
return e;
}
示例12: BuildEntity
public Entity BuildEntity(Entity entity, EntityWorld entityWorld, params object[] args)
{
var shipDef = Game.WorldConfiguration.Ships[args[0] as string];
entity.AddComponent(new ModelComponent(shipDef.Model));
entity.AddComponent(new SceneGraphNode());
entity.AddComponent(shipDef);
return entity;
}
示例13: HeartbeatSystem
public HeartbeatSystem(IScriptManager scriptManager,
EntityWorld world)
: base(Aspect.All(typeof(Heartbeat),
typeof(Script)))
{
_scriptManager = scriptManager;
_world = world;
}
示例14: BuildEntity
/// <summary>The build entity.</summary>
/// <param name="entity">The entity.</param>
/// <param name="entityWorld">The entity world.</param>
/// <param name="args">The args.</param>
/// <returns>The built <see cref="Entity" />.</returns>
public Entity BuildEntity(Entity entity, EntityWorld entityWorld, params object[] args)
{
entity.AddComponent(new TestPowerComponent());
entity.GetComponent<TestPowerComponent>().Power = 100;
entity.Refresh();
return entity;
}
示例15: BuildEntity
public Entity BuildEntity(Entity entity, EntityWorld entityWorld, params object[] args)
{
PhysicsBody body = entity.AddComponentFromPool<SPShared.ECS.Components.PhysicsBody>();
body.Body.Shape = shipShape;
PhysicsSystem physicsSystem = entityWorld.SystemManager.GetSystem<PhysicsSystem>();
physicsSystem.AddBody(body);
physicsSystem.AddConstraint(new Constraint2D(body.Body));
return entity;
}