private SEARCHSPRITE_ERROR_TYPE CheckUtilityForNGUIError(UTILITYFORNGUI_ERROR_TYPE utilityForNGUIErrorType) { SEARCHSPRITE_ERROR_TYPE errorType = SEARCHSPRITE_ERROR_TYPE.SEARCHSPRITE_NONE_ERROR; switch (utilityForNGUIErrorType) { case UTILITYFORNGUI_ERROR_TYPE.UTILITYFORNGUI_ERROR_NONE: errorType = SEARCHSPRITE_ERROR_TYPE.SEARCHSPRITE_NONE_ERROR; break; case UTILITYFORNGUI_ERROR_TYPE.UTILITYFORNGUI_ERROR_UNKNOWN: errorType = SEARCHSPRITE_ERROR_TYPE.SEARCHSPRITE_UNKNOWN; break; case UTILITYFORNGUI_ERROR_TYPE.UTILITYFORNGUI_ERROR_ISNOT_UISPRITE: errorType = SEARCHSPRITE_ERROR_TYPE.SEARCHSPRITE_SET_IS_NOT_UISPRITE; break; case UTILITYFORNGUI_ERROR_TYPE.UTILITYFORNGUI_ERROR_ISNOT_ATLAS: errorType = SEARCHSPRITE_ERROR_TYPE.SEARCHSPRITE_SET_IS_NOT_ATLAS; break; default: errorType = SEARCHSPRITE_ERROR_TYPE.SEARCHSPRITE_NONE_ERROR; break; } return(errorType); }
//将Atlas、Sprite设置给UISprite static public UTILITYFORNGUI_ERROR_TYPE SetUISprite(GameObject go, string spriteName, string atlasPath) { UTILITYFORNGUI_ERROR_TYPE errorType = UTILITYFORNGUI_ERROR_TYPE.UTILITYFORNGUI_ERROR_NONE; if ( (null == go) || (string.IsNullOrEmpty(spriteName)) || (string.IsNullOrEmpty(atlasPath)) ) { return(UTILITYFORNGUI_ERROR_TYPE.UTILITYFORNGUI_ERROR_UNKNOWN); } UISprite uiSprite = go.GetComponent <UISprite>(); if (null == uiSprite) { return(UTILITYFORNGUI_ERROR_TYPE.UTILITYFORNGUI_ERROR_ISNOT_UISPRITE); } GameObject atlasObj = AssetDatabase.LoadMainAssetAtPath(atlasPath) as GameObject; if (null == atlasObj) { return(UTILITYFORNGUI_ERROR_TYPE.UTILITYFORNGUI_ERROR_UNKNOWN); } UIAtlas atlas = atlasObj.GetComponent <UIAtlas>(); if (null == atlas) { return(UTILITYFORNGUI_ERROR_TYPE.UTILITYFORNGUI_ERROR_ISNOT_ATLAS); } //设置Atlas uiSprite.atlas = atlas; //设置Sprite SerializedObject serializedSprite = new SerializedObject(uiSprite); serializedSprite.Update(); SerializedProperty spriteDataType = serializedSprite.FindProperty("mSpriteName"); spriteDataType.stringValue = spriteName; serializedSprite.ApplyModifiedProperties(); UnityEditor.EditorUtility.SetDirty(serializedSprite.targetObject); return(errorType); }