protected override void ReadFromImpl(object obj) { base.ReadFromImpl(obj); Shadow uo = (Shadow)obj; effectColor = uo.effectColor; effectDistance = uo.effectDistance; useGraphicAlpha = uo.useGraphicAlpha; }
protected override void ReadFromImpl(object obj) { base.ReadFromImpl(obj); PBAutoUnwrapSettings uo = (PBAutoUnwrapSettings)obj; rotation = uo.rotation; offset = uo.offset; scale = uo.scale; swapUV = uo.swapUV; flipV = uo.flipV; flipU = uo.flipU; useWorldSpace = uo.useWorldSpace; }
public override void ReadFrom(object obj) { base.ReadFrom(obj); if (obj == null) { return; } Material o = (Material)obj; if (o.HasProperty("_MainTex")) { mainTextureOffset = new PersistentVector2(); mainTextureOffset.ReadFrom(o.mainTextureOffset); mainTextureScale = new PersistentVector2(); mainTextureScale.ReadFrom(o.mainTextureScale); } if (o.shader == null) { shader = m_assetDB.NullID; m_shaderName = null; return; } shader = m_assetDB.ToID(o.shader); m_shaderName = o.shader.name; RuntimeShaderInfo shaderInfo = null; IRuntimeShaderUtil shaderUtil = IOC.Resolve <IRuntimeShaderUtil>(); if (shaderUtil != null) { shaderInfo = shaderUtil.GetShaderInfo(o.shader); } if (shaderInfo == null) { return; } m_propertyNames = new string[shaderInfo.PropertyCount]; m_propertyTypes = new RTShaderPropertyType[shaderInfo.PropertyCount]; m_propertyValues = new PrimitiveContract[shaderInfo.PropertyCount]; for (int i = 0; i < shaderInfo.PropertyCount; ++i) { string name = shaderInfo.PropertyNames[i]; RTShaderPropertyType type = shaderInfo.PropertyTypes[i]; m_propertyNames[i] = name; m_propertyTypes[i] = type; switch (type) { case RTShaderPropertyType.Color: m_propertyValues[i] = PrimitiveContract.Create((PersistentColor)o.GetColor(name)); break; case RTShaderPropertyType.Float: m_propertyValues[i] = PrimitiveContract.Create(o.GetFloat(name)); break; case RTShaderPropertyType.Range: m_propertyValues[i] = PrimitiveContract.Create(o.GetFloat(name)); break; case RTShaderPropertyType.TexEnv: Texture2D texture = (Texture2D)o.GetTexture(name); if (texture == null) { m_propertyValues[i] = PrimitiveContract.Create(m_assetDB.NullID); } else { m_propertyValues[i] = PrimitiveContract.Create(m_assetDB.ToID(texture)); } break; case RTShaderPropertyType.Vector: m_propertyValues[i] = PrimitiveContract.Create((PersistentVector4)o.GetVector(name)); break; case RTShaderPropertyType.Unknown: m_propertyValues[i] = null; break; } } m_keywords = o.shaderKeywords; }