public GameState(IntPtr nativePtr) : base(nativePtr) { _scene = new CombatScene(0, this); _scene.AddSystem <CharacterCameraSystem>(); var playerCtrlSystem = _scene.AddSystem <PlayerControllerSystem>(); // ControllerSystem ctrlSystem =_scene.AddSystem<ControllerSystem>(); _entityBase = _scene.CreateEntity(); _cameraRender = (CameraRenderable)_entityBase.Assign_Component(new CameraRenderable()); _camera = (CameraFree)_entityBase.Assign_Component(new CameraFree(_entityBase, _cameraRender)); _controller = (Controller)_entityBase.Assign_Component(new Controller(_entityBase)); _player = (PlayerComponent)_entityBase.Assign_Component(new PlayerComponent(_entityBase)); _entityBase.Assign_Component(new NetIdComponent(_entityBase)); _player.PlayerSetActionMap(_controller); _screen = _entityBase.Assign_ScreenComponent(_cameraRender); playerCtrlSystem.SetBasicInputEvents(_controller); // CtrlSetBasicInputEvents(_controller.CPointer, "E:\\Projekte\\coop\\XEngine\\data\\Test\\XETController\\Controller.cfg"); _screen.AddUIState(_entityBase); _NetObserver = new NetObserver(this); }
public void Draw(CameraFree camera) { device.SetVertexBuffer(this.vertexBuffer); effect.World = world; effect.View = camera.GetView(); effect.Projection = camera.GetProjection(); effect.VertexColorEnabled = true; foreach (EffectPass i in this.effect.CurrentTechnique.Passes) { i.Apply(); this.device.DrawUserPrimitives <VertexPositionColor>(PrimitiveType.TriangleStrip, verts, 0, 1); } }
public void UpdateActionMap(Entity entity, float dt) { Controller ctrl = (Controller)entity.GetComponent <Controller>(); var player = entity.GetComponent <PlayerComponent>(); CameraFree cameraFree = (CameraFree)entity.GetComponent <CameraFree>(); var netID = entity.GetComponent <NetIdComponent>(); if (ctrl == null || player == null) { return; } if (netID != null) { //normally the client just send events to the server //for debugging and developement it should be possible to send body pos,rot,loc etc. if (netID.ID == 0) { // PrefabMsg.SendLogin(netID); } //logged in if (netID.ID > 0) { //FlatBuffers.FlatBufferBuilder fbb = new FlatBuffers.FlatBufferBuilder(4); //InputEvent.StartInputEvent(fbb); //InputEvent.AddActionType(fbb, ControllerSettings.ActionType.BackwardRight); // BackwardRight gibts nicht!! //InputEvent.AddActionData(fbb, Vec3f.CreateVec3f(fbb, 0, 0, 0)); //var ievt = InputEvent.EndInputEvent(fbb); //fbb.Finish(ievt.Value);//important! //MessageRoot.CreateMessageRoot(fbb, netID.ID, 0, Data.Login, ievt.Value); //UnityContainer.Get().Engine.SendToServer(netID, fbb.SizedByteArray(), (uint)fbb.SizedByteArray().Length); } } Player_UpdateActionMap(CPointer, entity.CPointer, dt); if (Player_AMap_IsActive(ctrl.CPointer, ActionType.Forward)) { if (cameraFree != null) { cameraFree.CameraNode.Translate(new Vector3(0, 0, 1)); } } if (Player_AMap_IsActive(ctrl.CPointer, ActionType.Backward)) { if (cameraFree != null) { cameraFree.CameraNode.Translate(new Vector3(0, 0, -1)); } } if (Player_AMap_IsActive(ctrl.CPointer, ActionType.TurnLeft)) { if (cameraFree != null) { cameraFree.CameraNode.Translate(new Vector3(-1, 0, 0)); } } if (Player_AMap_IsActive(ctrl.CPointer, ActionType.TurnRight)) { if (cameraFree != null) { cameraFree.CameraNode.Translate(new Vector3(1, 0, 0)); } } if (Player_AMap_IsActive(ctrl.CPointer, ActionType.CamRotate)) { var pos = ctrl.GetMousePosition(); if (_lastMousePosition != pos && _lastMousePosition != new Vector2(0, 0)) { ctrl.SetMousePosition(_lastMousePosition); var delta = _lastMousePosition - pos; cameraFree.CameraNode.Rotate(delta.X, delta.Y); } } else { _lastMousePosition = ctrl.GetMousePosition(); // Debug.WriteLine("LastMousePos:" + _lastMousePosition.ToString()); } }
public static void LoadContent(ContentManager content) { freeCamera = new CameraFree(Vector3.Backward * 20, Vector3.Zero); chopCamera = new CameraChopper(new Vector3(-1.6f, 3, 4.5f), Vector3.Forward * 10); actualCamera = freeCamera; //TODO: Create Objects to include on set chooper = new Chopper(@"Texture\camo", @"Texture\camo_snow"); #region set do helicoptero List <Quad> heliBody = new List <Quad> { #region heli body new Quad(new Vector3(-0.50f, -0.00f, 1.50f), new Vector3(-0.50f, 0.20f, 1.50f), new Vector3(-0.70f, 0.20f, 1.50f), new Vector3(-0.70f, -0.00f, 1.50f) , ""), new Quad(new Vector3(-1.00f, 0.60f, -0.50f), new Vector3(-1.00f, 2.60f, -0.50f), new Vector3(1.00f, 2.60f, -0.50f), new Vector3(1.00f, 0.60f, -0.50f) , ""), new Quad(new Vector3(-0.70f, -0.00f, 1.50f), new Vector3(-0.70f, 0.20f, 1.50f), new Vector3(-0.70f, 0.20f, -0.50f), new Vector3(-0.70f, 0.00f, -0.50f) , ""), new Quad(new Vector3(-1.00f, 2.60f, 0.50f), new Vector3(1.00f, 2.60f, 0.50f), new Vector3(1.00f, 2.60f, -0.50f), new Vector3(-1.00f, 2.60f, -0.50f) , ""), new Quad(new Vector3(-0.50f, 0.20f, -0.30f), new Vector3(-0.70f, 0.20f, -0.30f), new Vector3(-0.70f, 0.60f, -0.30f), new Vector3(-0.50f, 0.60f, -0.30f) , ""), new Quad(new Vector3(-0.70f, 0.00f, -0.50f), new Vector3(-0.70f, 0.20f, -0.50f), new Vector3(-0.50f, 0.20f, -0.50f), new Vector3(-0.50f, 0.00f, -0.50f) , ""), new Quad(new Vector3(-0.50f, 0.00f, -0.50f), new Vector3(-0.50f, -0.00f, 1.50f), new Vector3(-0.70f, -0.00f, 1.50f), new Vector3(-0.70f, 0.00f, -0.50f) , ""), new Quad(new Vector3(-0.50f, -0.00f, 1.50f), new Vector3(-0.50f, 0.00f, -0.50f), new Vector3(-0.50f, 0.20f, -0.50f), new Vector3(-0.50f, 0.20f, 1.50f) , ""), new Quad(new Vector3(-0.50f, 0.20f, 1.50f), new Vector3(-0.50f, 0.20f, -0.50f), new Vector3(-0.70f, 0.20f, -0.50f), new Vector3(-0.70f, 0.20f, 1.50f) , ""), new Quad(new Vector3(-0.70f, 0.20f, 1.00f), new Vector3(-0.70f, 0.20f, 1.30f), new Vector3(-0.70f, 0.60f, 1.30f), new Vector3(-0.70f, 0.60f, 1.00f) , ""), new Quad(new Vector3(-0.09f, 0.62f, -3.50f), new Vector3(-0.09f, 1.58f, -3.50f), new Vector3(0.09f, 1.58f, -3.50f), new Vector3(0.09f, 0.62f, -3.50f) , ""), new Quad(new Vector3(0.30f, 0.80f, -0.50f), new Vector3(-0.30f, 0.80f, -0.50f), new Vector3(-0.09f, 0.80f, -2.50f), new Vector3(0.09f, 0.80f, -2.50f) , ""), new Quad(new Vector3(-0.30f, 0.80f, -0.50f), new Vector3(-0.30f, 1.40f, -0.50f), new Vector3(-0.09f, 1.40f, -2.50f), new Vector3(-0.09f, 0.80f, -2.50f) , ""), new Quad(new Vector3(-0.50f, 0.20f, 1.00f), new Vector3(-0.70f, 0.20f, 1.00f), new Vector3(-0.70f, 0.60f, 1.00f), new Vector3(-0.50f, 0.60f, 1.00f) , ""), new Quad(new Vector3(-0.50f, 0.20f, -0.00f), new Vector3(-0.50f, 0.20f, -0.30f), new Vector3(-0.50f, 0.60f, -0.30f), new Vector3(-0.50f, 0.60f, -0.00f) , ""), new Quad(new Vector3(-0.70f, 0.20f, -0.30f), new Vector3(-0.70f, 0.20f, -0.00f), new Vector3(-0.70f, 0.60f, -0.00f), new Vector3(-0.70f, 0.60f, -0.30f) , ""), new Quad(new Vector3(-0.50f, 0.20f, 1.30f), new Vector3(-0.50f, 0.20f, 1.00f), new Vector3(-0.50f, 0.60f, 1.00f), new Vector3(-0.50f, 0.60f, 1.30f) , ""), new Quad(new Vector3(-0.70f, 0.20f, -0.00f), new Vector3(-0.50f, 0.20f, -0.00f), new Vector3(-0.50f, 0.60f, -0.00f), new Vector3(-0.70f, 0.60f, -0.00f) , ""), new Quad(new Vector3(-0.70f, 0.20f, 1.30f), new Vector3(-0.50f, 0.20f, 1.30f), new Vector3(-0.50f, 0.60f, 1.30f), new Vector3(-0.70f, 0.60f, 1.30f) , ""), new Quad(new Vector3(1.00f, 0.60f, 1.50f), new Vector3(1.00f, 1.50f, 1.50f), new Vector3(-1.00f, 1.50f, 1.50f), new Vector3(-1.00f, 0.60f, 1.50f) , ""), new Quad(new Vector3(1.00f, 0.60f, 1.50f), new Vector3(-1.00f, 0.60f, 1.50f), new Vector3(-1.00f, 0.60f, -0.50f), new Vector3(1.00f, 0.60f, -0.50f) , ""), new Quad(new Vector3(-0.09f, 1.58f, -2.50f), new Vector3(0.09f, 1.58f, -2.50f), new Vector3(0.09f, 1.58f, -3.50f), new Vector3(-0.09f, 1.58f, -3.50f) , ""), new Quad(new Vector3(-0.09f, 0.62f, -2.50f), new Vector3(0.09f, 0.62f, -2.50f), new Vector3(0.09f, 1.58f, -2.50f), new Vector3(-0.09f, 1.58f, -2.50f) , ""), new Quad(new Vector3(-0.30f, 1.40f, -0.50f), new Vector3(0.30f, 1.40f, -0.50f), new Vector3(0.09f, 1.40f, -2.50f), new Vector3(-0.09f, 1.40f, -2.50f) , ""), new Quad(new Vector3(-0.09f, 0.80f, -3.30f), new Vector3(-0.09f, 0.80f, -2.70f), new Vector3(0.00f, 0.80f, -2.70f), new Vector3(0.00f, 0.80f, -3.30f) , ""), new Quad(new Vector3(0.09f, 0.62f, -2.50f), new Vector3(-0.09f, 0.62f, -2.50f), new Vector3(-0.09f, 0.62f, -3.50f), new Vector3(0.09f, 0.62f, -3.50f) , ""), new Quad(new Vector3(-0.09f, 1.40f, -2.70f), new Vector3(-0.09f, 0.80f, -2.70f), new Vector3(-0.09f, 0.62f, -2.50f), new Vector3(-0.09f, 1.58f, -2.50f) , ""), new Quad(new Vector3(-0.09f, 0.80f, -3.30f), new Vector3(-0.09f, 1.40f, -3.30f), new Vector3(-0.09f, 1.58f, -3.50f), new Vector3(-0.09f, 0.62f, -3.50f) , ""), new Quad(new Vector3(-0.09f, 0.80f, -2.70f), new Vector3(-0.09f, 0.80f, -3.30f), new Vector3(-0.09f, 0.62f, -3.50f), new Vector3(-0.09f, 0.62f, -2.50f) , ""), new Quad(new Vector3(-0.09f, 1.40f, -3.30f), new Vector3(-0.09f, 1.40f, -2.70f), new Vector3(-0.09f, 1.58f, -2.50f), new Vector3(-0.09f, 1.58f, -3.50f) , ""), new Quad(new Vector3(-0.09f, 0.80f, -2.70f), new Vector3(-0.09f, 1.40f, -2.70f), new Vector3(0.00f, 1.40f, -2.70f), new Vector3(0.00f, 0.80f, -2.70f) , ""), new Quad(new Vector3(-0.09f, 1.40f, -2.70f), new Vector3(-0.09f, 1.40f, -3.30f), new Vector3(0.00f, 1.40f, -3.30f), new Vector3(0.00f, 1.40f, -2.70f) , ""), new Quad(new Vector3(-0.09f, 1.40f, -3.30f), new Vector3(-0.09f, 0.80f, -3.30f), new Vector3(0.00f, 0.80f, -3.30f), new Vector3(0.00f, 1.40f, -3.30f) , ""), new Quad(new Vector3(0.50f, -0.00f, 1.50f), new Vector3(0.70f, -0.00f, 1.50f), new Vector3(0.70f, 0.20f, 1.50f), new Vector3(0.50f, 0.20f, 1.50f) , ""), new Quad(new Vector3(0.70f, -0.00f, 1.50f), new Vector3(0.70f, 0.00f, -0.50f), new Vector3(0.70f, 0.20f, -0.50f), new Vector3(0.70f, 0.20f, 1.50f) , ""), new Quad(new Vector3(0.50f, 0.20f, -0.30f), new Vector3(0.50f, 0.60f, -0.30f), new Vector3(0.70f, 0.60f, -0.30f), new Vector3(0.70f, 0.20f, -0.30f) , ""), new Quad(new Vector3(0.70f, 0.00f, -0.50f), new Vector3(0.50f, 0.00f, -0.50f), new Vector3(0.50f, 0.20f, -0.50f), new Vector3(0.70f, 0.20f, -0.50f) , ""), new Quad(new Vector3(0.50f, 0.00f, -0.50f), new Vector3(0.70f, 0.00f, -0.50f), new Vector3(0.70f, -0.00f, 1.50f), new Vector3(0.50f, -0.00f, 1.50f) , ""), new Quad(new Vector3(0.50f, -0.00f, 1.50f), new Vector3(0.50f, 0.20f, 1.50f), new Vector3(0.50f, 0.20f, -0.50f), new Vector3(0.50f, 0.00f, -0.50f) , ""), new Quad(new Vector3(0.50f, 0.20f, 1.50f), new Vector3(0.70f, 0.20f, 1.50f), new Vector3(0.70f, 0.20f, -0.50f), new Vector3(0.50f, 0.20f, -0.50f) , ""), new Quad(new Vector3(0.70f, 0.20f, 1.00f), new Vector3(0.70f, 0.60f, 1.00f), new Vector3(0.70f, 0.60f, 1.30f), new Vector3(0.70f, 0.20f, 1.30f) , ""), new Quad(new Vector3(0.30f, 0.80f, -0.50f), new Vector3(0.09f, 0.80f, -2.50f), new Vector3(0.09f, 1.40f, -2.50f), new Vector3(0.30f, 1.40f, -0.50f) , ""), new Quad(new Vector3(0.50f, 0.20f, 1.00f), new Vector3(0.50f, 0.60f, 1.00f), new Vector3(0.70f, 0.60f, 1.00f), new Vector3(0.70f, 0.20f, 1.00f) , ""), new Quad(new Vector3(0.50f, 0.20f, 0.00f), new Vector3(0.50f, 0.60f, 0.00f), new Vector3(0.50f, 0.60f, -0.30f), new Vector3(0.50f, 0.20f, -0.30f) , ""), new Quad(new Vector3(0.70f, 0.20f, -0.30f), new Vector3(0.70f, 0.60f, -0.30f), new Vector3(0.70f, 0.60f, 0.00f), new Vector3(0.70f, 0.20f, 0.00f) , ""), new Quad(new Vector3(0.50f, 0.20f, 1.30f), new Vector3(0.50f, 0.60f, 1.30f), new Vector3(0.50f, 0.60f, 1.00f), new Vector3(0.50f, 0.20f, 1.00f) , ""), new Quad(new Vector3(0.70f, 0.20f, 0.00f), new Vector3(0.70f, 0.60f, 0.00f), new Vector3(0.50f, 0.60f, 0.00f), new Vector3(0.50f, 0.20f, 0.00f) , ""), new Quad(new Vector3(0.70f, 0.20f, 1.30f), new Vector3(0.70f, 0.60f, 1.30f), new Vector3(0.50f, 0.60f, 1.30f), new Vector3(0.50f, 0.20f, 1.30f) , ""), new Quad(new Vector3(0.09f, 0.80f, -3.30f), new Vector3(0.00f, 0.80f, -3.30f), new Vector3(0.00f, 0.80f, -2.70f), new Vector3(0.09f, 0.80f, -2.70f) , ""), new Quad(new Vector3(0.09f, 1.40f, -2.70f), new Vector3(0.09f, 1.58f, -2.50f), new Vector3(0.09f, 0.62f, -2.50f), new Vector3(0.09f, 0.80f, -2.70f) , ""), new Quad(new Vector3(0.09f, 0.80f, -3.30f), new Vector3(0.09f, 0.62f, -3.50f), new Vector3(0.09f, 1.58f, -3.50f), new Vector3(0.09f, 1.40f, -3.30f) , ""), new Quad(new Vector3(0.09f, 0.80f, -2.70f), new Vector3(0.09f, 0.62f, -2.50f), new Vector3(0.09f, 0.62f, -3.50f), new Vector3(0.09f, 0.80f, -3.30f) , ""), new Quad(new Vector3(0.09f, 1.40f, -3.30f), new Vector3(0.09f, 1.58f, -3.50f), new Vector3(0.09f, 1.58f, -2.50f), new Vector3(0.09f, 1.40f, -2.70f) , ""), new Quad(new Vector3(0.09f, 0.80f, -2.70f), new Vector3(0.00f, 0.80f, -2.70f), new Vector3(0.00f, 1.40f, -2.70f), new Vector3(0.09f, 1.40f, -2.70f) , ""), new Quad(new Vector3(0.09f, 1.40f, -2.70f), new Vector3(0.00f, 1.40f, -2.70f), new Vector3(0.00f, 1.40f, -3.30f), new Vector3(0.09f, 1.40f, -3.30f) , ""), new Quad(new Vector3(0.09f, 1.40f, -3.30f), new Vector3(0.00f, 1.40f, -3.30f), new Vector3(0.00f, 0.80f, -3.30f), new Vector3(0.09f, 0.80f, -3.30f) , ""), new Quad(new Vector3(-1.00f, 0.60f, -0.50f), new Vector3(-1.00f, 0.60f, 1.50f), new Vector3(-1.00f, 1.50f, 1.50f), new Vector3(-1.00f, 1.50f, -0.50f) , ""), new Quad(new Vector3(1.00f, 1.50f, 1.50f), new Vector3(1.00f, 0.60f, 1.50f), new Vector3(1.00f, 0.60f, -0.50f), new Vector3(1.00f, 1.50f, -0.50f) , ""), #endregion }; List <Quad> glass = new List <Quad> { #region glass new Quad(new Vector3(-1.00f, 1.50f, 1.50f), new Vector3(-1.00f, 2.60f, 0.50f), new Vector3(-1.00f, 2.60f, -0.50f), new Vector3(-1.00f, 1.50f, -0.50f) , @"Texture\vidro", @"Texture\vidro_snow"), new Quad(new Vector3(1.00f, 2.60f, 0.50f), new Vector3(-1.00f, 2.60f, 0.50f), new Vector3(-1.00f, 1.50f, 1.50f), new Vector3(1.00f, 1.50f, 1.50f) , @"Texture\vidro", @"Texture\vidro_snow"), new Quad(new Vector3(1.00f, 2.60f, -0.50f), new Vector3(1.00f, 2.60f, 0.50f), new Vector3(1.00f, 1.50f, 1.50f), new Vector3(1.00f, 1.50f, -0.50f) , @"Texture\vidro", @"Texture\vidro_snow"), #endregion }; List <Quad> heliMainBlade = new List <Quad> { #region main blade new Quad(new Vector3(0.06f, 0.10f, 0.06f), new Vector3(0.06f, 0.10f, -0.06f), new Vector3(0.06f, 0.20f, -0.06f), new Vector3(0.06f, 0.20f, 0.06f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(-0.06f, -0.00f, -0.06f), new Vector3(-0.06f, 0.10f, -0.06f), new Vector3(0.06f, 0.10f, -0.06f), new Vector3(0.06f, -0.00f, -0.06f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(-0.06f, -0.00f, 0.06f), new Vector3(-0.06f, 0.10f, 0.06f), new Vector3(-0.06f, 0.10f, -0.06f), new Vector3(-0.06f, -0.00f, -0.06f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(0.06f, -0.00f, 0.06f), new Vector3(0.06f, 0.10f, 0.06f), new Vector3(-0.06f, 0.10f, 0.06f), new Vector3(-0.06f, -0.00f, 0.06f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(0.06f, -0.00f, -0.06f), new Vector3(0.06f, 0.10f, -0.06f), new Vector3(0.06f, 0.10f, 0.06f), new Vector3(0.06f, -0.00f, 0.06f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(-0.06f, 0.20f, 0.06f), new Vector3(0.06f, 0.20f, 0.06f), new Vector3(0.06f, 0.20f, -0.06f), new Vector3(-0.06f, 0.20f, -0.06f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(0.06f, 0.10f, -0.06f), new Vector3(-0.06f, 0.10f, -0.06f), new Vector3(-0.06f, 0.20f, -0.06f), new Vector3(0.06f, 0.20f, -0.06f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(-0.06f, 0.10f, 0.06f), new Vector3(0.06f, 0.10f, 0.06f), new Vector3(0.06f, 0.20f, 0.06f), new Vector3(-0.06f, 0.20f, 0.06f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(-0.06f, 0.10f, -0.06f), new Vector3(-0.06f, 0.10f, 0.06f), new Vector3(-0.06f, 0.20f, 0.06f), new Vector3(-0.06f, 0.20f, -0.06f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(-0.06f, 0.10f, 0.06f), new Vector3(-0.06f, 0.10f, -0.06f), new Vector3(-3.00f, 0.10f, -0.15f), new Vector3(-3.00f, 0.10f, 0.15f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(-0.15f, 0.10f, -3.00f), new Vector3(-0.06f, 0.10f, -0.06f), new Vector3(0.06f, 0.10f, -0.06f), new Vector3(0.15f, 0.10f, -3.00f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(0.06f, 0.10f, -0.06f), new Vector3(0.06f, 0.10f, 0.06f), new Vector3(3.00f, 0.10f, 0.15f), new Vector3(3.00f, 0.10f, -0.15f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(0.15f, 0.10f, 3.00f), new Vector3(0.06f, 0.10f, 0.06f), new Vector3(-0.06f, 0.10f, 0.06f), new Vector3(-0.15f, 0.10f, 3.00f) , @"Texture\blade", @"Texture\blade_snow"), #endregion }; List <Quad> heliTailBlade = new List <Quad>() { #region tail blade new Quad(new Vector3(-0.03f, 0.02f, -0.02f), new Vector3(-0.03f, 0.02f, 0.02f), new Vector3(-0.03f, 0.20f, 0.04f), new Vector3(-0.03f, 0.20f, -0.04f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(-0.03f, -0.02f, -0.02f), new Vector3(-0.03f, 0.02f, -0.02f), new Vector3(-0.03f, 0.04f, -0.20f), new Vector3(-0.03f, -0.04f, -0.20f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(0.00f, 0.02f, 0.02f), new Vector3(0.00f, -0.02f, 0.02f), new Vector3(0.00f, -0.02f, -0.02f), new Vector3(0.00f, 0.02f, -0.02f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(-0.03f, 0.02f, 0.02f), new Vector3(-0.03f, 0.02f, -0.02f), new Vector3(-0.06f, 0.02f, -0.02f), new Vector3(-0.06f, 0.02f, 0.02f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(0.00f, -0.02f, -0.02f), new Vector3(-0.03f, -0.02f, -0.02f), new Vector3(-0.03f, 0.02f, -0.02f), new Vector3(0.00f, 0.02f, -0.02f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(0.00f, -0.02f, 0.02f), new Vector3(-0.03f, -0.02f, 0.02f), new Vector3(-0.03f, -0.02f, -0.02f), new Vector3(0.00f, -0.02f, -0.02f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(0.00f, 0.02f, 0.02f), new Vector3(-0.03f, 0.02f, 0.02f), new Vector3(-0.03f, -0.02f, 0.02f), new Vector3(0.00f, -0.02f, 0.02f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(0.00f, 0.02f, -0.02f), new Vector3(-0.03f, 0.02f, -0.02f), new Vector3(-0.03f, 0.02f, 0.02f), new Vector3(0.00f, 0.02f, 0.02f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(-0.03f, -0.02f, 0.02f), new Vector3(-0.03f, -0.02f, -0.02f), new Vector3(-0.03f, -0.20f, -0.04f), new Vector3(-0.03f, -0.20f, 0.04f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(-0.03f, -0.02f, 0.02f), new Vector3(-0.03f, 0.02f, 0.02f), new Vector3(-0.03f, 0.04f, 0.20f), new Vector3(-0.03f, -0.04f, 0.20f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(-0.06f, -0.02f, 0.02f), new Vector3(-0.06f, 0.02f, 0.02f), new Vector3(-0.06f, 0.02f, -0.02f), new Vector3(-0.06f, -0.02f, -0.02f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(-0.03f, 0.02f, -0.02f), new Vector3(-0.03f, -0.02f, -0.02f), new Vector3(-0.06f, -0.02f, -0.02f), new Vector3(-0.06f, 0.02f, -0.02f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(-0.03f, -0.02f, 0.02f), new Vector3(-0.03f, 0.02f, 0.02f), new Vector3(-0.06f, 0.02f, 0.02f), new Vector3(-0.06f, -0.02f, 0.02f) , @"Texture\blade", @"Texture\blade_snow"), new Quad(new Vector3(-0.03f, -0.02f, -0.02f), new Vector3(-0.03f, -0.02f, 0.02f), new Vector3(-0.06f, -0.02f, 0.02f), new Vector3(-0.06f, -0.02f, -0.02f) , @"Texture\blade", @"Texture\blade_snow"), #endregion }; chooper.AddQuads(heliBody); // adicionar a lista de poligonos chooper.AddQuads(glass); chooper.SetPosition(0, 1.5f, 0.5f); // setar posicao do helicoptero chooper.SetMainBlade(0, 4.1f, 0.5f, heliMainBlade); // adicionar helices e setar posicoes chooper.SetTailBlade(0, 2.6f, -2.5f, heliTailBlade); #endregion Obj casa = new Obj(@"Texture\Wall", @"Texture\wall_snow"); #region set da casa List <Quad> parede = new List <Quad> { #region paredes new Quad(new Vector3(-1.50f, 1.00f, 2.75f), new Vector3(-1.50f, 1.00f, 0.75f), new Vector3(-1.50f, 0.00f, 0.75f), new Vector3(-1.50f, 0.00f, 2.75f) , @"Texture\wall"), new Quad(new Vector3(-1.50f, 3.00f, -3.75f), new Vector3(-1.50f, 2.00f, -3.75f), new Vector3(-1.50f, 2.00f, 3.75f), new Vector3(-1.50f, 3.00f, 3.75f) , @"Texture\wall"), new Quad(new Vector3(-1.50f, 2.00f, -1.10f), new Vector3(-1.50f, 1.30f, -1.10f), new Vector3(-1.50f, 1.30f, 0.75f), new Vector3(-1.50f, 2.00f, 0.75f) , @"Texture\wall"), new Quad(new Vector3(-1.50f, 0.00f, -3.75f), new Vector3(-1.50f, 3.00f, -3.75f), new Vector3(1.30f, 3.00f, -3.75f), new Vector3(1.30f, 0.00f, -3.75f) , @"Texture\wall"), new Quad(new Vector3(-1.50f, 1.30f, -1.80f), new Vector3(-1.50f, 2.00f, -1.80f), new Vector3(-1.50f, 2.00f, -3.75f), new Vector3(-1.50f, 1.30f, -3.75f) , @"Texture\wall"), new Quad(new Vector3(-1.50f, 2.00f, 3.75f), new Vector3(-1.50f, 2.00f, 2.75f), new Vector3(-1.50f, 0.00f, 2.75f), new Vector3(-1.50f, 0.00f, 3.75f) , @"Texture\wall"), new Quad(new Vector3(-1.50f, 1.30f, 0.75f), new Vector3(-1.50f, 1.30f, -3.75f), new Vector3(-1.50f, 0.00f, -3.75f), new Vector3(-1.50f, 0.00f, 0.75f) , @"Texture\wall"), new Quad(new Vector3(0.51f, 2.00f, 3.75f), new Vector3(0.51f, 0.00f, 3.75f), new Vector3(1.30f, 0.00f, 3.75f), new Vector3(1.30f, 2.00f, 3.75f) , @"Texture\wall"), new Quad(new Vector3(1.30f, 3.00f, 3.75f), new Vector3(-1.50f, 3.00f, 3.75f), new Vector3(-1.50f, 2.00f, 3.75f), new Vector3(1.30f, 2.00f, 3.75f) , @"Texture\wall"), new Quad(new Vector3(-1.50f, 0.00f, 3.75f), new Vector3(-0.79f, 0.00f, 3.75f), new Vector3(-0.79f, 1.99f, 3.75f), new Vector3(-1.50f, 2.00f, 3.75f) , @"Texture\wall"), new Quad(new Vector3(1.30f, 1.80f, 1.40f), new Vector3(1.30f, 1.80f, -1.10f), new Vector3(1.30f, 2.00f, -1.10f), new Vector3(1.30f, 2.00f, 1.40f) , @"Texture\wall"), new Quad(new Vector3(1.30f, 1.80f, 1.40f), new Vector3(1.30f, 0.00f, 1.40f), new Vector3(1.30f, 0.00f, -1.80f), new Vector3(1.30f, 1.80f, -1.80f) , @"Texture\wall"), new Quad(new Vector3(1.30f, 0.00f, 2.10f), new Vector3(1.30f, 0.00f, 1.40f), new Vector3(1.30f, 1.30f, 1.40f), new Vector3(1.30f, 1.30f, 2.10f) , @"Texture\wall"), new Quad(new Vector3(1.30f, 2.00f, -1.80f), new Vector3(1.30f, 0.00f, -1.80f), new Vector3(1.30f, 0.00f, -3.75f), new Vector3(1.30f, 2.00f, -3.75f) , @"Texture\wall"), new Quad(new Vector3(1.30f, 3.00f, 3.75f), new Vector3(1.30f, 2.00f, 3.75f), new Vector3(1.30f, 2.00f, -3.75f), new Vector3(1.30f, 3.00f, -3.75f) , @"Texture\wall"), new Quad(new Vector3(1.30f, 2.00f, 2.10f), new Vector3(1.30f, 2.00f, 3.75f), new Vector3(1.30f, 0.00f, 3.75f), new Vector3(1.30f, 0.00f, 2.10f) , @"Texture\wall"), #endregion }; teto = new Obj(new List <Quad> { new Quad(new Vector3(1.30f, 3.00f, -3.75f), new Vector3(-1.50f, 3.00f, -3.75f), new Vector3(-1.50f, 3.00f, 3.75f), new Vector3(1.30f, 3.00f, 3.75f) , @"Texture\helo", @"Texture\helo_snow") }); teto.SetPosition(0.005f, -1.5f, 0.02f); teto.boundinBox = new BoundingBox(new Vector3(-2.00f, 4.00f, -3.00f), new Vector3(2.00f, 4.00f, 3.00f)); List <Quad> misc = new List <Quad> { #region misc new Quad(new Vector3(1.30f, 1.80f, -1.10f), new Vector3(1.30f, 1.80f, -1.80f), new Vector3(1.30f, 2.00f, -1.80f), new Vector3(1.30f, 2.00f, -1.10f) , @"Texture\wood", @"Texture\wood_snow"), new Quad(new Vector3(1.30f, 1.30f, 2.10f), new Vector3(1.30f, 1.30f, 1.40f), new Vector3(1.30f, 2.00f, 1.40f), new Vector3(1.30f, 2.00f, 2.10f) , @"Texture\wood", @"Texture\wood_snow"), new Quad(new Vector3(-1.50f, 2.00f, 1.75f), new Vector3(-1.50f, 2.00f, 0.75f), new Vector3(-1.50f, 1.00f, 0.75f), new Vector3(-1.50f, 1.00f, 1.75f) , @"Texture\wood", @"Texture\wood_snow"), new Quad(new Vector3(-1.50f, 2.00f, -1.80f), new Vector3(-1.50f, 1.30f, -1.80f), new Vector3(-1.50f, 1.30f, -1.10f), new Vector3(-1.50f, 2.00f, -1.10f) , @"Texture\wood", @"Texture\wood_snow"), new Quad(new Vector3(-1.50f, 1.00f, 1.75f), new Vector3(-1.50f, 1.00f, 2.75f), new Vector3(-1.50f, 2.00f, 2.75f), new Vector3(-1.50f, 2.00f, 1.75f) , @"Texture\wood", @"Texture\wood_snow"), new Quad(new Vector3(-0.79f, 1.99f, 3.75f), new Vector3(-0.79f, -0.01f, 3.75f), new Vector3(0.51f, -0.01f, 3.75f), new Vector3(0.51f, 1.99f, 3.75f) , @"Texture\wood", @"Texture\wood_snow"), #endregion }; #endregion casa.AddQuads(misc); casa.AddQuads(parede); casa.SetPosition(0, -1.5f, 0); grid = new Grid("height map", "Ground_Snow", "Ground"); Ocean ocean = new Ocean("ocean"); ocean.SetPosition(0, 0, 0); //TODO: Create sets //TODO: Include objects on set List <Obj> sceneSet = new List <Obj> { chooper, teto, casa, grid, ocean }; //TODO: Create scenes //TODO: Insert the set of objects on scene actualScene = new Scene(sceneSet, "Cena 1"); //TODO: add the scences scenes = new List <Scene>(); scenes.Add(actualScene); }