当前位置: 首页>>代码示例>>C#>>正文


C# IFactory.CreatePlayerEntity方法代码示例

本文整理汇总了C#中IFactory.CreatePlayerEntity方法的典型用法代码示例。如果您正苦于以下问题:C# IFactory.CreatePlayerEntity方法的具体用法?C# IFactory.CreatePlayerEntity怎么用?C# IFactory.CreatePlayerEntity使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IFactory的用法示例。


在下文中一共展示了IFactory.CreatePlayerEntity方法的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();
        }
开发者ID:gusmanb,项目名称:Mir,代码行数:63,代码来源:RoomEditorWorld.cs


注:本文中的IFactory.CreatePlayerEntity方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。