本文整理汇总了C#中IFactory.CreateShipEntity方法的典型用法代码示例。如果您正苦于以下问题:C# IFactory.CreateShipEntity方法的具体用法?C# IFactory.CreateShipEntity怎么用?C# IFactory.CreateShipEntity使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IFactory
的用法示例。
在下文中一共展示了IFactory.CreateShipEntity方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RoomEditorWorld
public RoomEditorWorld(
IFactory factory,
I2DRenderUtilities twoDRenderUtilities,
IAssetManagerProvider assetManagerProvider,
IPhysicsEngine physicsEngine,
IRoomTool[] roomTools,
ShipEditorWorld previousWorld,
Room room)
{
this.PreviousWorld = previousWorld;
this.Entities = new List<IEntity>();
this.m_2DRenderUtilities = twoDRenderUtilities;
this.m_AssetManager = assetManagerProvider.GetAssetManager();
this.m_RoomTools = roomTools;
this.m_DefaultFont = this.m_AssetManager.Get<FontAsset>("font.Default");
this.m_LightingEffect = this.m_AssetManager.Get<EffectAsset>("effect.Light");
this.m_LightingEffect.Effect.Parameters["Ambient"].SetValue(new Vector3(0.2f, 0.2f, 0.2f));
this.m_LightingEffect.Effect.Parameters["AmbientRemaining"].SetValue(new Vector3(0.8f, 0.8f, 0.8f));
var ship = factory.CreateShipEntity();
var player = factory.CreatePlayerEntity();
player.ParentArea = ship;
player.X = 5;
player.Z = 5;
this.m_Room = room;
foreach (var obj in this.m_Room.Objects)
{
obj.Reinitalize();
}
this.m_RoomEditorEntity = factory.CreateRoomEditorEntity(this.m_Room);
this.Entities.Add(ship);
this.Entities.Add(player);
this.Entities.Add(this.m_RoomEditorEntity);
this.m_PhysicsEngine = physicsEngine;
this.m_JitterWorld = new JitterWorld(
new CollisionSystemSAP
{
EnableSpeculativeContacts = true
})
{
Gravity = new JVector(0, -50, 0)
};
this.m_JitterWorld.ContactSettings.MaterialCoefficientMixing =
ContactSettings.MaterialCoefficientMixingType.TakeMinimum;
var shape = new BoxShape(new JVector(2, 2, 2));
var body = new RigidBody(shape);
this.m_JitterWorld.AddBody(body);
body.Position = new JVector(20, 10, 20);
body.IsActive = true;
this.m_RigidBody = body;
this.SetupRoomPhysics();
}