示例#1
0
 public void BackupMeshColor(GameObject targetObj, bool bRecursively)
 {
     if (targetObj == null)
     {
         return;
     }
     m_SavedMeshColor = bRecursively ? SAVE_TYPE.RECURSIVELY : SAVE_TYPE.ONE;
     if (m_SavedMeshColor == SAVE_TYPE.RECURSIVELY)
     {
         m_MeshColorMeshFilters = targetObj.GetComponentsInChildren <MeshFilter>(true);
         m_MeshColorSaveValues  = new Vector4[m_MeshColorMeshFilters.Length];
         if (m_MeshColorMeshFilters == null || m_MeshColorMeshFilters.Length < 0)
         {
             return;
         }
         for (int arrayIndex = 0; arrayIndex < m_MeshColorMeshFilters.Length; arrayIndex++)
         {
             m_MeshColorSaveValues[arrayIndex] = GetMeshColor(m_MeshColorMeshFilters[arrayIndex]);
         }
     }
     else
     {
         m_MeshColorMeshFilter = targetObj.GetComponent <MeshFilter>();
         m_MeshColorSaveValue  = GetMeshColor(m_MeshColorMeshFilter);
     }
 }
示例#2
0
    public void BackupMaterialColor(GameObject targetObj, bool bRecursively)
    {
        if (targetObj == null)
        {
            return;
        }
        if (bRecursively)
        {
            m_SavedMaterialColor = SAVE_TYPE.RECURSIVELY;
        }
        else
        {
            m_SavedMaterialColor = SAVE_TYPE.ONE;
        }

        Transform targetTrans = targetObj.transform;

        if (m_SavedMaterialColor == SAVE_TYPE.RECURSIVELY)
        {
            // Recursively
            m_MaterialColorRenderers  = targetTrans.GetComponentsInChildren <Renderer>(true);
            m_MaterialColorColorNames = new string[m_MaterialColorRenderers.Length];
            m_MaterialColorSaveValues = new Vector4[m_MaterialColorRenderers.Length];

            for (int n = 0; n < m_MaterialColorRenderers.Length; n++)
            {
                Renderer ren = m_MaterialColorRenderers[n];
                m_MaterialColorColorNames[n] = GetMaterialColorName(ren.sharedMaterial);

                if (m_MaterialColorColorNames[n] != null)
                {
                    m_MaterialColorSaveValues[n] = ren.material.GetColor(m_MaterialColorColorNames[n]);
                }
            }
        }
        else
        {
            // this Only
            m_MaterialColorRenderer = targetTrans.renderer;
            if (m_MaterialColorRenderer != null)
            {
                m_MaterialColorColorName = GetMaterialColorName(m_MaterialColorRenderer.sharedMaterial);
                if (m_MaterialColorColorName != null)
                {
                    m_MaterialColorSaveValue = m_MaterialColorRenderer.material.GetColor(m_MaterialColorColorName);
                }
            }
        }
    }
	public void BackupMaterialColor(GameObject targetObj, bool bRecursively)
	{
		if (targetObj == null)
			return;
		if (bRecursively)
			 m_SavedMaterialColor = SAVE_TYPE.RECURSIVELY;
		else m_SavedMaterialColor = SAVE_TYPE.ONE;

		Transform targetTrans = targetObj.transform;

		if (m_SavedMaterialColor == SAVE_TYPE.RECURSIVELY)
		{
			// Recursively
			m_MaterialColorRenderers			= targetTrans.GetComponentsInChildren<Renderer>(true);
			m_MaterialColorColorNames			= new string[m_MaterialColorRenderers.Length];
			m_MaterialColorSaveValues	= new Vector4[m_MaterialColorRenderers.Length];

			for (int n = 0; n < m_MaterialColorRenderers.Length; n++)
			{
				Renderer ren			= m_MaterialColorRenderers[n];
				m_MaterialColorColorNames[n]	= GetMaterialColorName(ren.sharedMaterial);

				if (m_MaterialColorColorNames[n] != null)
					m_MaterialColorSaveValues[n] = ren.material.GetColor(m_MaterialColorColorNames[n]);
			}
		} else {
			// this Only
			m_MaterialColorRenderer	= targetTrans.GetComponent<Renderer>();
			if (m_MaterialColorRenderer != null)
			{
				m_MaterialColorColorName		= GetMaterialColorName(m_MaterialColorRenderer.sharedMaterial);
				if (m_MaterialColorColorName != null)
					m_MaterialColorSaveValue = m_MaterialColorRenderer.material.GetColor(m_MaterialColorColorName);
			}
		}
	}
	public void BackupMeshColor(GameObject targetObj, bool bRecursively)
	{
		if (targetObj == null)
			return;
		if (bRecursively)
			 m_SavedMeshColor = SAVE_TYPE.RECURSIVELY;
		else m_SavedMeshColor = SAVE_TYPE.ONE;

		if (m_SavedMeshColor == SAVE_TYPE.RECURSIVELY)
		{
			// Recursively
			m_MeshColorMeshFilters		= targetObj.GetComponentsInChildren<MeshFilter>(true);
			m_MeshColorSaveValues	= new Vector4[m_MeshColorMeshFilters.Length];

			if (m_MeshColorMeshFilters == null || m_MeshColorMeshFilters.Length < 0)
				return;
			for (int arrayIndex = 0; arrayIndex < m_MeshColorMeshFilters.Length; arrayIndex++)
				m_MeshColorSaveValues[arrayIndex]	= GetMeshColor(m_MeshColorMeshFilters[arrayIndex]);
		} else {
			// this Only
			m_MeshColorMeshFilter		= targetObj.GetComponent<MeshFilter>();
			m_MeshColorSaveValue	= GetMeshColor(m_MeshColorMeshFilter);
		}
	}