protected Rect DrawVariableModeAttributeIcon(Rect position, SOVariableActionMode actionMode)
    {
        SOTextureResourceManager.Resource iconMode;
        string tooltip;

        switch (actionMode)
        {
        case SOVariableActionMode.ReadOnly:
            iconMode = SOTextureResourceManager.Resource.IconRead;
            tooltip  = "Read Only";
            break;

        case SOVariableActionMode.WriteOnly:
            iconMode = SOTextureResourceManager.Resource.IconWrite;
            tooltip  = "Write Only";
            break;

        case SOVariableActionMode.ReadWrite:
            iconMode = SOTextureResourceManager.Resource.IconReadWrite;
            tooltip  = "Read & Write";
            break;

        default:
            return(position);
        }

        DrawIcon(position, iconMode, tooltip);

        position.x += iconSize;
        return(position);
    }
 public SOVariableModeAttribute(SOVariableActionMode Mode)
 {
     mode = Mode;
 }