Reactor.RMaterial.Clone C# (CSharp) Method

Clone() public method

public Clone ( ) : RMaterial
return RMaterial
        public RMaterial Clone()
        {
            int num = 1;
            for(int i=0; i<RMaterialFactory.Instance._MaterialList.Count; i++)
                if (RMaterialFactory.Instance._MaterialList.ContainsKey(this.name+num))
                {
                    num++;
                }
            RMaterial mat = new RMaterial();
            RShader sh = new RShader();
            sh.effect = shader.effect.Clone();
            mat.name = this.name+num;
            mat.shader = sh;
            mat.ambColor = ambColor;
            mat.diffColor = diffColor;
            mat.ID = RMaterialFactory._instance._MaterialList.Count + 1;
            mat.specColor = specColor;
            mat.specPower = specPower;
            RMaterialFactory._instance._MaterialList.Add(mat.name, mat);
            return mat;
        }