コード例 #1
0
	protected virtual void OnWillRenderObject()
	{
		if (spriteRenderer == null) spriteRenderer = GetComponent<SpriteRenderer>();
		
		UpdateSourceMaterial();
		
		DestroyMaterialIfSettingsDiffer();
		
		if (SourceMaterial != null)
		{
			// Clone new material?
			if (clonedMaterial == null)
			{
				clonedMaterial = D2D_Helper.Clone(SourceMaterial, false);
			}
			else
			{
				clonedMaterial.CopyPropertiesFromMaterial(SourceMaterial);
			}
			
			clonedMaterial.hideFlags = HideFlags.DontSave;
			
			clonedMaterial.SetTexture("_MainTex", MainTex);
			clonedMaterial.SetTexture("_AlphaTex", AlphaTex);
			clonedMaterial.SetFloat("_Sharpness", Sharpness);
			
			clonedMaterial.hideFlags = HideFlags.None;
		}
		
		if (spriteRenderer.sharedMaterial != clonedMaterial)
		{
			spriteRenderer.sharedMaterial = clonedMaterial;
		}
	}
コード例 #2
0
	protected override void OnDuplicate()
	{
		base.OnDuplicate();
		
		if (spriteRenderer == null) spriteRenderer = GetComponent<SpriteRenderer>();
		
		if (clonedMaterial == spriteRenderer.sharedMaterial)
		{
			clonedMaterial = D2D_Helper.Clone(clonedMaterial);
			
			spriteRenderer.sharedMaterial = clonedMaterial;
		}
	}
コード例 #3
0
 protected virtual void OnDuplicate()
 {
     alphaTex = D2D_Helper.Clone(alphaTex, true);
 }