示例#1
0
        public override Tex2D Process(Tex2D img)
        {
            if (Graph == null)
            {
                Graph = Map.UpdateGraph(64, 64);
            }

            if (White == null)
            {
                White = new Tex.Tex2D("Corona/Img/fx/vrgrid1.png", true);
            }
            FB1.Bind();

            //Graph.Draw(false);
            Graph.DrawShapes(0.1f);

            FB1.Release();

            //return null;

            var b2 = FB1.BB.ToTex2D();

            Graph.Draw(true);

            Vivid.Draw.Render.Begin();
            Vivid.Draw.Render.Image(0, App.AppInfo.H, App.AppInfo.W, -App.AppInfo.H, b2, White);

            FX.Bind();

            Vivid.Draw.Render.End2D();

            FX.Release();

            return(base.Process(img));
        }
示例#2
0
        public void SetMap(string path)
        {
            FileStream   fs = new FileStream(path, FileMode.Open, FileAccess.Read);
            BinaryReader r  = new BinaryReader(fs);

            CurMap = new Map.Map();

            r.ReadInt32();

            CurMap.Read(r);

            r.Close();
            fs.Close();

            Graph   = CurMap.UpdateGraph(64, 64);
            Graph.X = (AppInfo.W / 2) - 32;
            Graph.Y = (AppInfo.H / 2) - 32;
            float mz, maz;

            mz  = 1000;
            maz = -1000;
            foreach (var n in Graph.Root.Nodes)
            {
                if (n.Z < mz)
                {
                    mz = n.Z;
                }
                if (n.Z > maz)
                {
                    maz = n.Z;
                }
            }
            Console.WriteLine("MinZ:" + mz + " MaxZ:" + maz);
            ColMap = Graph.CreateCollisionMap();
        }