protected override void CreateScene() { // Lights DirectionalLight light = new DirectionalLight("light", new Vector3(-10f, 7f, -5f)); EntityManager.Add(light); RenderManager.FrustumCullingEnabled = false; // Game Behavior GameBehavior gameBehavior = new GameBehavior(); // Create Player this.Player = this.modelFactoryService.CreatePlayer(gameBehavior); EntityManager.Add(this.Player); // Create Camera var camera = new FixedCamera("mainCamera", Vector3.Zero, Vector3.Zero); // Setted in GameBehavior Init camera.BackgroundColor = Color.CornflowerBlue; this.GameCamera = camera.Entity.FindComponent<Camera3D>(); EntityManager.Add(camera); // Add Scene Behavior this.AddSceneBehavior(gameBehavior, SceneBehavior.Order.PostUpdate); }
/// <summary> /// Initializes a new instance of the <see cref="PlayerBehavior"/> class. /// </summary> /// <param name="gameBehavior">The game behavior.</param> public PlayerBehavior(GameBehavior gameBehavior) : base("PlayerBehavior") { this.gameBehavior = gameBehavior; }
/// <summary> /// Creates the player. /// </summary> /// <param name="gameBehavior">The game behavior.</param> /// <returns></returns> public Entity CreatePlayer(GameBehavior gameBehavior) { Entity entity = null; entity = new Entity("player") .AddComponent(new Transform3D() { })//UpdateOrder = 0 }) .AddComponent(Model.CreateSphere()) .AddComponent(new BoxCollider() { Size = new Vector3(this.Scale.X, this.Scale.Y, this.Scale.Z), UpdateOrder = 0.5f }) .AddComponent(new MaterialsMap()) .AddComponent(new ModelRenderer()) .AddComponent(new PlayerBehavior(gameBehavior)); return entity; }