Example #1
0
        public override void Init()
        {
            Content.ContentPath = "Data";
            Content.ContentCachePath = "Cache/";
            WorldScene = new WorldScene(this);

            WorldScene.Camera = new ClientCommon.WalkaroundCamera(this, delegate(float x, float y) { return 0; });

            SkinnedMesh goblin1 = content.Get<SkinnedMesh>("death1.x");

            gob_model_test = new Model { SkinnedMesh = goblin1, Texture = content.Get<Texture>("death1.png"), Effect = content.Get<Effect>("effects.fx"), HasAlpha = true };

            WorldEntity c;

            WorldScene.Add(c = new WorldEntity()
            {
                Model = gob_model_test,
            });

            //c.AnimationController.SetTrackAnimationSet(1, c.AnimationController.GetAnimationSet("cast1"));
            //c.AnimationController.SetTrackAnimationSet(0, c.AnimationController.GetAnimationSet("cast1"));

            //c.AnimationController.EnableTrack(1);
            //c.AnimationController.DisableTrack(1);
            //c.AnimationController.SetTrackWeight(0, 1);
            //c/.AnimationController.SetTrackWeight(1, 1);
            //c.AnimationController.SetTrackPriority(1, TrackPriority.High);
            //c.AnimationController.SetTrackPriority(0, TrackPriority.Low);

            //Console.WriteLine(c.AnimationController.GetTrackDescription(1));

            //c.AnimationList.Add("0death1", gob_model_test.SkinnedMesh.CloneAnimationObject("0death1"));
            //c.AnimationList.Add("attack1", gob_model_test.SkinnedMesh.CloneAnimationObject("attack1"));

            /*
            WorldScene.Add(c = new WorldEntity()
            {
                Model = gob_model_test,
                Translation = new Vector3(3, 3, 10)
            });

            c.AnimationList.Add("0death1", gob_model_test.SkinnedMesh.CloneAnimationObject("0death1"));

            WorldScene.Add(c = new WorldEntity()
            {
                Model = gob_model_test,
                Translation = new Vector3(6, 6, 0)
            });

            WorldScene.Add(c = new WorldEntity()
            {
                Model = gob_model_test,
                Translation = new Vector3(6, 3, 0)
            });
            */
        }
Example #2
0
 public WorldScene(View view)
     : base(view)
 {
     selectionModel = new Model
     {
         XMesh = view.content.Get<SlimDX.Direct3D9.Mesh>("unitplane.x"),
         Texture = view.content.Get<Texture>("selectioncircle1.png"),
         World = Matrix.Scaling(2, 2, 0) * Matrix.Translation(0, 0, 0.1f),
         HasAlpha = true
     };
     billboardEffect = view.content.Get<Effect>("billboard.fx");
     Root = new WorldEntity { Scene = this };
     Renderer = new Renderer(Device);
 }
Example #3
0
        public NavMeshEditor(View view, WorldScene scene, ScreenToWorld stw, ClientCommon.Mesh plane)
        {
            this.view = view;
            this.scene = scene;
            this.screenToWorld = stw;

            vertexModel = new Model
            {
                Mesh = plane,
                IsBillboard = true,
                Texture = view.content.Get<Texture>("blink.tga"),
                World = Matrix.Scaling(1, 1, 0),
                Effect = view.content.Get<Effect>("billboard.fx")
            };
            CreateNextFace();
        }
Example #4
0
 protected virtual void RenderModel(Entity e, Model m, Matrix parentWorld, float dtime)
 {
 }
 public DropState(WorldView view, NewDropObjectDelegate newDropCallback, Common.Model m, bool randomRotation, Common.Tuple<float, float> randomScale)
     : base(view)
 {
     this.newDropCallback = newDropCallback;
     view.Scene.ClearSelection();
     droppingModel = view.models.GetModel(m);
     RandomRotation = randomRotation;
     RandomScale = randomScale;
     //cylinder = view.content.Get<SlimDX.Direct3D9.Mesh>("unitcylinder.x");
     CreateNewDrop();
 }
Example #6
0
        protected override void RenderModel(Entity e, Model m, SlimDX.Matrix parentWorld, float dtime)
        {
            if (m != null && m.Visible && e.IsVisible)
            {
                RenderObject tmp = new RenderObject { World = m.World * e.World * parentWorld, Model = m, AnimationController = e.AnimationController, AnimList = e.AnimationList, BillboardMatrix = m.World* Matrix.Scaling(e.Scale), BillboardVector = e.Translation };
                Renderer.Add(tmp);
            }

            if (((WorldEntity)e).IsSelected)
            {
                /*
                Device.SetSamplerState(0, SamplerState.AddressU, TextureAddress.Wrap);
                Device.SetSamplerState(0, SamplerState.AddressV, TextureAddress.Wrap);

                Device.SetTexture(0, selectionModel.Texture);
                Device.SetTransform(TransformState.Projection, Camera.Projection);
                Device.SetTransform(TransformState.View, Camera.View);
                Device.SetTransform(TransformState.World, selectionModel.World * Matrix.Translation(e.Translation));
                selectionModel.XMesh.DrawSubset(0);*/

                if (m.SkinnedMesh != null)
                {
                    float y = m.SkinnedMesh.maxY - m.SkinnedMesh.minY;
                    float x = m.SkinnedMesh.maxX - m.SkinnedMesh.minX;
                    float r = (float)Math.Sqrt((float)Math.Pow((x / 2), 2) + (float)Math.Pow((y / 2), 2)) / 4;

                    //boundingScales = new Vector3(o.Model.World.M32 * r / 1.2f, o.Model.World.M32 * r / 1.2f, o.Model.World.M32 * z / 1.8f);

                    RenderObject tmp = new RenderObject { Model = selectionModel, World = Matrix.Scaling(new Vector3(m.World.M32 * r * 1.2f, m.World.M32 * r * 1.2f, 1f)) * selectionModel.World * Matrix.Translation(e.Translation) };
                    Renderer.Add(tmp);
                }
            }
        }