/// <summary> /// 初始化物料grid /// </summary> public void InitMaterialTable(DataGridView dv, int[] idAry) { MaterialConfig material = new MaterialConfig(); _materialTable = new DataTable(); _materialTable.Columns.Add(material.Oid, typeof(string)); _materialTable.Columns.Add(material.Name, typeof(string)); _materialTable.Columns.Add(material.Code, typeof(string)); _materialTable.Columns.Add(material.Supplier, typeof(string)); _materialTable.Columns.Add(material.SupplierCode, typeof(string)); _materialTable.Columns.Add(material.Client, typeof(string)); BindGrid(dv, _materialTable, idAry); }
protected MaterialConfigBuilder(MaterialConfig config) : base(config) { }
private void FindRenderer(bool inbConfigure) { StaticInitialize(); #if UNITY_EDITOR if (Application.isPlaying) { if (m_RendererLocated) { return; } m_RendererLocated = true; } #else if (m_RendererLocated) { return; } m_RendererLocated = true; m_EnableRaycastLayer = gameObject.layer; #endif // UNITY_EDITOR if (m_Graphic) { return; } if (m_Renderer) { m_RendererAsSpriteRenderer = m_Renderer as SpriteRenderer; return; } if (m_MaterialConfig == null) { m_MaterialConfig = new MaterialConfig(); } m_Graphic = GetComponent <Graphic>(); if (m_Graphic) { if (inbConfigure) { m_Colors.Main = m_Graphic.color; m_BlocksRaycasts = m_Graphic.raycastTarget; } return; } m_Renderer = GetComponent <Renderer>(); if (m_Renderer) { m_RendererAsSpriteRenderer = m_Renderer as SpriteRenderer; if (inbConfigure) { if (m_RendererAsSpriteRenderer) { m_Colors.Main = m_RendererAsSpriteRenderer.color; m_MaterialConfig.MainProperty.Name = "_Color"; m_MaterialConfig.MainProperty.Enabled = false; } else if (m_Renderer.sharedMaterial) { MaterialPropertyBlock propBlock = GetSharedBlock(); m_Renderer.GetPropertyBlock(propBlock); m_MaterialConfig.ConfigureForMaterial(m_Renderer.sharedMaterial); m_Colors.Main = m_MaterialConfig.MainProperty.Retrieve(propBlock); } else { MaterialPropertyBlock propBlock = GetSharedBlock(); m_Renderer.GetPropertyBlock(propBlock); m_Colors.Main = m_MaterialConfig.MainProperty.Retrieve(propBlock); } bool bRaycastable = false; var eventSystemHandler = GetComponent <UnityEngine.EventSystems.IEventSystemHandler>(); if (eventSystemHandler != null) { Behaviour behavior = eventSystemHandler as Behaviour; if (behavior != null) { bRaycastable = behavior.enabled; } } if (bRaycastable) { m_BlocksRaycasts = true; m_EnableRaycastLayer = gameObject.layer; } else { m_BlocksRaycasts = false; m_DisableRaycastLayer = gameObject.layer; } if (m_Colors.Main == Color.clear) { m_Colors.Main = Color.white; } } } }
// ----------------------------------------------- // 创建材质 // @param 材质配置 // @param Shader配置 //----------------------------------------------- public virtual void CreateMaterial(MaterialConfig config, ShaderConfig sCfg) { }
private void FindRenderer(bool inbConfigure) { Initialize(); #if UNITY_EDITOR if (Application.isPlaying) { if (m_RendererLocated) { return; } m_RendererLocated = true; } #else if (m_RendererLocated) { return; } m_RendererLocated = true; #endif // UNITY_EDITOR if (m_Graphic) { return; } if (m_Renderer) { m_RendererAsSpriteRenderer = m_Renderer as SpriteRenderer; return; } if (m_MaterialConfig == null) { m_MaterialConfig = new MaterialConfig(); } m_Graphic = GetComponent <Graphic>(); if (m_Graphic) { if (inbConfigure) { m_Colors.Main = m_Graphic.color; } return; } m_Renderer = GetComponent <Renderer>(); if (m_Renderer) { m_RendererAsSpriteRenderer = m_Renderer as SpriteRenderer; if (inbConfigure) { if (m_RendererAsSpriteRenderer) { m_Colors.Main = m_RendererAsSpriteRenderer.color; m_MaterialConfig.MainProperty.Name = "_Color"; m_MaterialConfig.MainProperty.Enabled = false; } else if (m_Renderer.sharedMaterial) { m_Renderer.GetPropertyBlock(s_SharedPropertyBlock); m_MaterialConfig.ConfigureForMaterial(m_Renderer.sharedMaterial); m_Colors.Main = m_MaterialConfig.MainProperty.Retrieve(s_SharedPropertyBlock); } else { m_Renderer.GetPropertyBlock(s_SharedPropertyBlock); m_Colors.Main = m_MaterialConfig.MainProperty.Retrieve(s_SharedPropertyBlock); } } } }
public MaterialConfig(MaterialConfig other) : base(other) { }