Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    //将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);
    }