Esempio n. 1
0
        public void AddValuesToList(List <ShaderPropertyValue> allValues)
        {
            if (allValues.Count == 0)
            {
                return;
            }

            ShaderPropertiesList newList = new ShaderPropertiesList();

            for (int i = 0; i < allValues.Count; i++)
            {
                newList.values.Add(new ShaderPropertyValue(allValues[i]));
            }
            states.Add(newList);
        }
Esempio n. 2
0
        public void SetUpInit()
        {
            for (int i = 0; i < states.Count; ++i)
            {
                ShaderPropertiesList       currentState = states[i];
                List <ShaderPropertyValue> values       = currentState.values;

                for (int j = 0; j < values.Count; j++)
                {
                    ShaderPropertyValue currentValue = values[j];


                    if (!originalShaderPropertiesValues.Contains(currentValue))
                    {
                        ShaderPropertyValue newValue = new ShaderPropertyValue();
                        newValue.valueName = currentValue.valueName;
                        newValue.type      = currentValue.type;
                        switch (currentValue.type)
                        {
                        case ShaderParameterType.Color:
                            newValue.colorValue = mat.GetColor(currentValue.valueName);
                            break;

                        case ShaderParameterType.TexEnv:
                            newValue.textureValue = mat.GetTexture(currentValue.valueName) as Texture2D;
                            break;

                        case ShaderParameterType.Vector:
                            newValue.vectorValue = mat.GetVector(currentValue.valueName);
                            break;

                        default:
                            newValue.floatValue = mat.GetFloat(currentValue.valueName);
                            break;
                        }

                        originalShaderPropertiesValues.Add(newValue);
                    }
                }
            }
        }