public TextureModifier.FilterParam ToFilter() {
     var fp= new TextureModifier.FilterParam();
     fp.Hue.Value = Hue;
     fp.Saturation.Value = Saturation;
     fp.Lightness.Value = Lightness;
     fp.InputMin.Value = InputMin;
     fp.InputMax.Value = InputMax;
     fp.InputMid.Value = InputMid;
     fp.OutputMin.Value = OutputMin;
     fp.OutputMax.Value = OutputMax;
     return fp;
 }
Example #2
0
        // Token: 0x06000139 RID: 313 RVA: 0x0000C670 File Offset: 0x0000A870
        public void Init(ACCMaterial edited)
        {
            this.editedMat = edited;
            if (!this.onlyModel && !string.IsNullOrEmpty(this.filename))
            {
                LogUtil.Debug(new object[]
                {
                    "load material file",
                    this.filename
                });
                this.srcMat        = ACCMaterialEx.Load(this.filename);
                this.shaderChanged = (this.editedMat.type != this.srcMat.type);
            }
            if (edited.type.isTrans)
            {
                if (Math.Abs(edited.renderQueue.val - 2000f) < 0.01f)
                {
                    this.needPmat = false;
                }
                else
                {
                    this.needPmat = true;
                    string matName     = (this.srcMat != null) ? this.srcMat.name2 : edited.name;
                    float  renderQueue = MaterialUtil.GetRenderQueue(matName);
                    if (renderQueue < 0f)
                    {
                        this.needPmatChange = true;
                    }
                    LogUtil.DebugF("render queue: src={0}, edited={1}", new object[]
                    {
                        renderQueue,
                        edited.renderQueue
                    });
                    this.needPmatChange |= !NumberUtil.Equals(edited.renderQueue.val, renderQueue, 0.01f);
                    this.pmatExport      = this.needPmatChange;
                }
            }
            if (!this.shaderChanged && this.srcMat != null)
            {
                this.hasParamChanged = this.editedMat.HasChanged(this.srcMat);
            }
            this.editname = this.editedMat.material.name;
            Maid currentMaid = MaidHolder.Instance.CurrentMaid;

            foreach (ShaderPropTex shaderPropTex in this.editedMat.type.texProps)
            {
                LogUtil.Debug(new object[]
                {
                    "propName:",
                    shaderPropTex.key
                });
                Texture texture = this.editedMat.material.GetTexture(shaderPropTex.propId);
                TextureModifier.FilterParam filter = ACCTexturesView.GetFilter(currentMaid, this.slotName, this.editedMat.material, shaderPropTex.propId);
                bool         flag  = filter != null && !filter.HasNotChanged();
                bool         flag2 = false;
                ACCTextureEx acctextureEx;
                if (texture != null && this.srcMat != null && this.srcMat.texDic.TryGetValue(shaderPropTex.key, out acctextureEx))
                {
                    flag2 = (acctextureEx.editname != texture.name);
                }
                TargetTexture value = new TargetTexture(flag, flag2, texture)
                {
                    filter = filter
                };
                this.texDic[shaderPropTex.key] = value;
                this.hasTexColorChanged        = (this.hasTexColorChanged || flag);
                this.hasTexFileChanged         = (this.hasTexFileChanged || flag2);
            }
            LogUtil.Debug(new object[]
            {
                "target material initialized"
            });
        }