示例#1
0
 public static MaterialBase Create(DrawSystem.TextureData diffuse)
 {
     return(new MinimapMaterial()
     {
         DiffuseTex0 = diffuse,
     });
 }
示例#2
0
        public override bool GetTextureDataBySlotIndex(int slotIndex, out DrawSystem.TextureData outTexture)
        {
            switch (slotIndex)
            {
            case 0:
                return(GetTextureData(DrawSystem.TextureTypes.Diffuse0, out outTexture));

            default:
                outTexture = DrawSystem.TextureData.Null();
                return(false);
            }
        }
示例#3
0
        public override void SetTextureData(DrawSystem.TextureTypes type, DrawSystem.TextureData tex)
        {
            switch (type)
            {
            case DrawSystem.TextureTypes.Diffuse0:
                DiffuseTex0 = tex;
                break;

            case DrawSystem.TextureTypes.MinimapRoute:
                MinimapRouteTex = tex;
                break;

            default:
                Debug.Assert(false, "unsupported texture types");
                break;
            }
        }
示例#4
0
        public override bool GetTextureData(DrawSystem.TextureTypes type, out DrawSystem.TextureData outTexture)
        {
            switch (type)
            {
            case DrawSystem.TextureTypes.Diffuse0:
                outTexture = DiffuseTex0;
                return(true);

            case DrawSystem.TextureTypes.MinimapRoute:
                outTexture = MinimapRouteTex;
                return(true);

            default:
                Debug.Assert(false, "unsupported texture types");
                outTexture = DrawSystem.TextureData.Null();
                return(false);
            }
        }
示例#5
0
 public virtual bool GetTextureDataBySlotIndex(int slotIndex, out DrawSystem.TextureData outTexture)
 {
     outTexture = DrawSystem.TextureData.Null();
     return(false);
 }
示例#6
0
 public virtual bool GetTextureData(DrawSystem.TextureTypes type, out DrawSystem.TextureData outTexture)
 {
     outTexture = DrawSystem.TextureData.Null();
     return(false);
 }
示例#7
0
 public virtual void SetTextureData(DrawSystem.TextureTypes tyep, DrawSystem.TextureData tex)
 {
     // do nothing
 }
示例#8
0
        public Scene(Device device, SwapChain swapChain, Panel renderTarget, HmdDevice hmd, bool bStereoRendering, int multiThreadCount)
        {
            var drawSys = DrawSystem.GetInstance();
            var mapSys  = MapSystem.GetInstance();

            // load textures
            var textures = new List <TextureView>(new[]
            {
                TextureView.FromFile("dot", drawSys.D3D, "Image/dot.png"),
                TextureView.FromFile("floor", drawSys.D3D, "Image/floor.jpg"),
            });
            var numTextures = new DrawSystem.TextureData[10];

            for (int i = 0; i < 10; ++i)
            {
                var name = String.Format("number_{0}", i);
                numTextures[i] = new DrawSystem.TextureData
                {
                    Resource = TextureView.FromFile(name, drawSys.D3D, String.Format("Image/{0}.png", name)),
                    UvScale  = Vector2.One,
                };
            }
            textures.AddRange(numTextures.Select(item => item.Resource));
            foreach (var tex in textures)
            {
                drawSys.ResourceRepository.AddResource(tex);
            }

            // create number entity
            m_fps          = new FpsCounter();
            m_numberEntity = new NumberEntity(new NumberEntity.InitParam()
            {
                Dot = new DrawSystem.TextureData
                {
                    Resource = drawSys.ResourceRepository.FindResource <TextureView>("dot"),
                    UvScale  = Vector2.One,
                },
                Numbers = numTextures,
                Layout  = Matrix.RotationYawPitchRoll(1.0f, -1.5f, MathUtil.PI) * Matrix.Translation(-1.5f, 2.5f, -4.5f)
            });

            // create map
            mapSys.LoadResource();
            mapSys.CreateMap("Level/l9000.tmx");

            // create player
            m_player = new PlayerEntity();
            ChrSystem.GetInstance().Player = m_player;

            m_multiThreadCount = multiThreadCount;
            m_taskList         = new List <Task>(m_multiThreadCount);
            m_taskResultList   = new List <CommandList>(m_multiThreadCount);

            // other settings
#if DEBUG
            CameraSystem.GetInstance().ActivateCamera(CameraSystem.FollowEntityCameraName);
            //CameraSystem.GetInstance().ActivateCamera(CameraSystem.FixedCameraName);
            //CameraSystem.GetInstance().ActivateCamera(CameraSystem.FreeCameraName);
#else
            CameraSystem.GetInstance().ActivateCamera(CameraSystem.FollowEntityCameraName);
#endif // DEBUG
        }