Clone() публичный Метод

Creates a clone of the current BasicEffect instance.
public Clone ( ) : Effect
Результат Effect
Пример #1
0
        public DrawWrapper(SpriteBatch batch, GraphicsDevice device, AssetManager assetsManager)
        {
            GlobalScale = 1f;

            spriteBatch = batch;
            graphicsDevice = device;
            deviceWidth = graphicsDevice.Viewport.Width;

            Assets = assetsManager;

            basicEffect = new BasicEffect(device)
            {
                VertexColorEnabled = true,
                World = Matrix.Identity,
                View = Matrix.Identity,
            };

            guiEffect = (BasicEffect) basicEffect.Clone();

            SetProjectionMatrix(standardWidth, standardHeight);
            ScreenSize = new Vector2(graphicsDevice.Viewport.Width, graphicsDevice.Viewport.Height);

            displayWidth = standardWidth;
            displayHeight = standardHeight;
        }
Пример #2
0
        public void LoadModel(ContentManager content, BasicEffect effect)
        {
            Model model = content.Load<Model>(MODEL_PATH);
            int i = 0;
            foreach (ModelMesh mesh in model.Meshes)
            {
                foreach (BasicEffect currentEffect in mesh.Effects)
                    this.textures[i++] = currentEffect.Texture;

                foreach (ModelMeshPart meshPart in mesh.MeshParts)
                    meshPart.Effect = effect.Clone();
            }
            this.model = model;
        }
Пример #3
0
        public void LoadModel(ContentManager content, BasicEffect effect)
        {
            float radius = 0f;
            if (this.Type == PowerupType.Shield)
            {
                this.Model = content.Load<Model>(SHIELD_MODEL_PATH);
                this.Texture = content.Load<Texture2D>(SHIELD_TEXTURE_PATH);
            }
            else
            {
                this.Model = content.Load<Model>(SHRINK_MODEL_PATH);
                this.Texture = content.Load<Texture2D>(SHRINK_TEXTURE_PATH);
            }

            foreach (ModelMesh mesh in this.Model.Meshes)
            {
                radius = Math.Max(radius, mesh.BoundingSphere.Radius);

                foreach (BasicEffect currentEffect in mesh.Effects)
                    this.Texture = currentEffect.Texture;

                foreach (ModelMeshPart meshPart in mesh.MeshParts)
                    meshPart.Effect = effect.Clone();
            }
            this.BoundingSphere = new BoundingSphere(this.Position, radius * 300f);
        }
Пример #4
0
        public void LoadModelAndTexture(ContentManager content, BasicEffect effect)
        {
            float radius = 0f;
            this.Model = content.Load<Model>(MODEL_PATH);
            foreach (ModelMesh mesh in this.Model.Meshes)
            {
                radius = Math.Max(radius, mesh.BoundingSphere.Radius);

                foreach (BasicEffect currentEffect in mesh.Effects)
                    this.Texture = currentEffect.Texture;

                foreach (ModelMeshPart meshPart in mesh.MeshParts)
                    meshPart.Effect = effect.Clone();
            }

            this.BoundingSphere = new BoundingSphere(this.Position, radius);
            this.Texture = content.Load<Texture2D>(TEXTURE_PATH);
        }
Пример #5
0
        private Model LoadModel(ContentManager Content, String skyboxName, out Texture2D[] textures)
        {
            Effect effect = new BasicEffect(game.GraphicsDevice);
            Model newModel = Content.Load<Model>("Skyboxes/" + skyboxName+"/skybox");
            textures = new Texture2D[newModel.Meshes.Count];
            int i = 0;
            foreach (ModelMesh mesh in newModel.Meshes)
                foreach (BasicEffect currentEffect in mesh.Effects)
                    textures[i++] = currentEffect.Texture;

            foreach (ModelMesh mesh in newModel.Meshes)
                foreach (ModelMeshPart meshPart in mesh.MeshParts)
                    meshPart.Effect = effect.Clone();

            return newModel;
        }