├── .github
├── AAR Source (Android)
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── com
│ │ │ └── yasirkula
│ │ │ └── unity
│ │ │ ├── FileBrowser.java
│ │ │ ├── FileBrowserDirectoryPickerFragment.java
│ │ │ ├── FileBrowserDirectoryReceiver.java
│ │ │ ├── FileBrowserPermissionFragment.java
│ │ │ ├── FileBrowserPermissionReceiver.java
│ │ │ └── FileBrowserSAFEntry.java
│ └── proguard.txt
├── README.md
└── screenshots
│ └── filebrowser.png
├── LICENSE.txt
├── LICENSE.txt.meta
├── Plugins.meta
├── Plugins
├── SimpleFileBrowser.meta
└── SimpleFileBrowser
│ ├── Android.meta
│ ├── Android
│ ├── FBCallbackHelper.cs
│ ├── FBCallbackHelper.cs.meta
│ ├── FBDirectoryReceiveCallbackAndroid.cs
│ ├── FBDirectoryReceiveCallbackAndroid.cs.meta
│ ├── FBPermissionCallbackAndroid.cs
│ ├── FBPermissionCallbackAndroid.cs.meta
│ ├── SimpleFileBrowser.aar
│ └── SimpleFileBrowser.aar.meta
│ ├── Prefabs.meta
│ ├── Prefabs
│ ├── SimpleFileBrowserItem.prefab
│ ├── SimpleFileBrowserItem.prefab.meta
│ ├── SimpleFileBrowserQuickLink.prefab
│ └── SimpleFileBrowserQuickLink.prefab.meta
│ ├── README.txt
│ ├── README.txt.meta
│ ├── Resources.meta
│ ├── Resources
│ ├── SimpleFileBrowserCanvas.prefab
│ └── SimpleFileBrowserCanvas.prefab.meta
│ ├── Scripts.meta
│ ├── Scripts
│ ├── EventSystemHandler.cs
│ ├── EventSystemHandler.cs.meta
│ ├── FileBrowser.cs
│ ├── FileBrowser.cs.meta
│ ├── FileBrowserAccessRestrictedPanel.cs
│ ├── FileBrowserAccessRestrictedPanel.cs.meta
│ ├── FileBrowserContextMenu.cs
│ ├── FileBrowserContextMenu.cs.meta
│ ├── FileBrowserCursorHandler.cs
│ ├── FileBrowserCursorHandler.cs.meta
│ ├── FileBrowserFileOperationConfirmationPanel.cs
│ ├── FileBrowserFileOperationConfirmationPanel.cs.meta
│ ├── FileBrowserHelpers.cs
│ ├── FileBrowserHelpers.cs.meta
│ ├── FileBrowserItem.cs
│ ├── FileBrowserItem.cs.meta
│ ├── FileBrowserMovement.cs
│ ├── FileBrowserMovement.cs.meta
│ ├── FileBrowserQuickLink.cs
│ ├── FileBrowserQuickLink.cs.meta
│ ├── FileBrowserRenamedItem.cs
│ ├── FileBrowserRenamedItem.cs.meta
│ ├── NonDrawingGraphic.cs
│ ├── NonDrawingGraphic.cs.meta
│ ├── SimpleRecycledListView.meta
│ ├── SimpleRecycledListView
│ │ ├── IListViewAdapter.cs
│ │ ├── IListViewAdapter.cs.meta
│ │ ├── ListItem.cs
│ │ ├── ListItem.cs.meta
│ │ ├── RecycledListView.cs
│ │ └── RecycledListView.cs.meta
│ ├── UISkin.cs
│ └── UISkin.cs.meta
│ ├── SimpleFileBrowser.Runtime.asmdef
│ ├── SimpleFileBrowser.Runtime.asmdef.meta
│ ├── Skins.meta
│ ├── Skins
│ ├── DarkSkin.asset
│ ├── DarkSkin.asset.meta
│ ├── LightSkin.asset
│ └── LightSkin.asset.meta
│ ├── Sprites.meta
│ └── Sprites
│ ├── Checkmark.psd
│ ├── Checkmark.psd.meta
│ ├── DropdownArrow.psd
│ ├── DropdownArrow.psd.meta
│ ├── ErrorIcon.psd
│ ├── ErrorIcon.psd.meta
│ ├── FileIcons.meta
│ ├── FileIcons
│ ├── ArchiveIcon.png
│ ├── ArchiveIcon.png.meta
│ ├── AudioFileIcon.png
│ ├── AudioFileIcon.png.meta
│ ├── DefaultFileIcon.png
│ ├── DefaultFileIcon.png.meta
│ ├── DriveIcon.png
│ ├── DriveIcon.png.meta
│ ├── ExecutableIcon.png
│ ├── ExecutableIcon.png.meta
│ ├── FolderIcon.png
│ ├── FolderIcon.png.meta
│ ├── ImageFileIcon.png
│ ├── ImageFileIcon.png.meta
│ ├── LICENSE.txt
│ ├── LICENSE.txt.meta
│ ├── PdfFileIcon.png
│ ├── PdfFileIcon.png.meta
│ ├── TextFileIcon.png
│ ├── TextFileIcon.png.meta
│ ├── VideoFileIcon.png
│ └── VideoFileIcon.png.meta
│ ├── ForwardArrow.psd
│ ├── ForwardArrow.psd.meta
│ ├── MultiSelectionToggleOff.psd
│ ├── MultiSelectionToggleOff.psd.meta
│ ├── MultiSelectionToggleOn.psd
│ ├── MultiSelectionToggleOn.psd.meta
│ ├── ResizeCursor.png
│ ├── ResizeCursor.png.meta
│ ├── SimpleFileBrowserDrag.psd
│ ├── SimpleFileBrowserDrag.psd.meta
│ ├── SimpleFileBrowserMoreOptions.psd
│ ├── SimpleFileBrowserMoreOptions.psd.meta
│ ├── SimpleFileBrowserSlicedBackground1.psd
│ ├── SimpleFileBrowserSlicedBackground1.psd.meta
│ ├── SimpleFileBrowserSlicedBackground2.psd
│ ├── SimpleFileBrowserSlicedBackground2.psd.meta
│ ├── SimpleFileBrowserSlicedBackground3.psd
│ ├── SimpleFileBrowserSlicedBackground3.psd.meta
│ ├── SimpleFileBrowserSlicedBackground4.psd
│ ├── SimpleFileBrowserSlicedBackground4.psd.meta
│ ├── SimpleFileBrowserSlicedBackground5.psd
│ ├── SimpleFileBrowserSlicedBackground5.psd.meta
│ ├── SimpleFileBrowserSpriteAtlas.spriteatlas
│ └── SimpleFileBrowserSpriteAtlas.spriteatlas.meta
├── package.json
└── package.json.meta
/.github/AAR Source (Android)/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.github/AAR Source (Android)/java/com/yasirkula/unity/FileBrowserDirectoryPickerFragment.java:
--------------------------------------------------------------------------------
1 | package com.yasirkula.unity;
2 |
3 | import android.annotation.TargetApi;
4 | import android.app.Activity;
5 | import android.app.Fragment;
6 | import android.content.ActivityNotFoundException;
7 | import android.content.Intent;
8 | import android.net.Uri;
9 | import android.os.Build;
10 | import android.os.Bundle;
11 | import android.provider.DocumentsContract;
12 | import android.util.Log;
13 | import android.widget.Toast;
14 |
15 | @TargetApi( Build.VERSION_CODES.Q )
16 | public class FileBrowserDirectoryPickerFragment extends Fragment
17 | {
18 | private static final int DIRECTORY_PICK_REQUEST_CODE = 74425;
19 |
20 | public static String initialDirectoryUri;
21 |
22 | private final FileBrowserDirectoryReceiver directoryReceiver;
23 |
24 | public FileBrowserDirectoryPickerFragment()
25 | {
26 | directoryReceiver = null;
27 | }
28 |
29 | public FileBrowserDirectoryPickerFragment( final FileBrowserDirectoryReceiver directoryReceiver )
30 | {
31 | this.directoryReceiver = directoryReceiver;
32 | }
33 |
34 | @Override
35 | public void onCreate( Bundle savedInstanceState )
36 | {
37 | super.onCreate( savedInstanceState );
38 |
39 | if( directoryReceiver == null )
40 | onActivityResult( DIRECTORY_PICK_REQUEST_CODE, Activity.RESULT_CANCELED, null );
41 | else
42 | {
43 | Intent intent = new Intent( Intent.ACTION_OPEN_DOCUMENT_TREE );
44 | intent.addFlags( Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION );
45 |
46 | // Try to set the initial folder of the picker (read first: https://issuetracker.google.com/issues/291241154)
47 | if( initialDirectoryUri != null && initialDirectoryUri.length() > 0 && Build.VERSION.SDK_INT >= 26 )
48 | intent.putExtra( DocumentsContract.EXTRA_INITIAL_URI, Uri.parse( initialDirectoryUri ) );
49 |
50 | intent.putExtra( "android.content.extra.SHOW_ADVANCED", true );
51 | intent.putExtra( "android.content.extra.FANCY", true );
52 | intent.putExtra( "android.content.extra.SHOW_FILESIZE", true );
53 | intent.putExtra( Intent.EXTRA_LOCAL_ONLY, true );
54 |
55 | try
56 | {
57 | startActivityForResult( intent, DIRECTORY_PICK_REQUEST_CODE );
58 | }
59 | catch( ActivityNotFoundException e )
60 | {
61 | Toast.makeText( getActivity(), "No apps can perform this action.", Toast.LENGTH_LONG ).show();
62 | onActivityResult( DIRECTORY_PICK_REQUEST_CODE, Activity.RESULT_CANCELED, null );
63 | }
64 | }
65 | }
66 |
67 | @Override
68 | public void onActivityResult( int requestCode, int resultCode, Intent data )
69 | {
70 | if( requestCode != DIRECTORY_PICK_REQUEST_CODE )
71 | return;
72 |
73 | String rawUri = "";
74 | String name = "";
75 | if( resultCode == Activity.RESULT_OK && data != null )
76 | {
77 | Uri directoryUri = data.getData();
78 | if( directoryUri != null )
79 | {
80 | FileBrowserSAFEntry directory = FileBrowserSAFEntry.fromTreeUri( getActivity(), directoryUri );
81 | if( directory != null && directory.exists() )
82 | {
83 | rawUri = directory.getUri().toString();
84 | name = directory.getName();
85 |
86 | getActivity().getContentResolver().takePersistableUriPermission( data.getData(), Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION );
87 | }
88 | }
89 | }
90 |
91 | if( directoryReceiver != null )
92 | directoryReceiver.OnDirectoryPicked( rawUri, name );
93 |
94 | getFragmentManager().beginTransaction().remove( this ).commitAllowingStateLoss();
95 | }
96 | }
--------------------------------------------------------------------------------
/.github/AAR Source (Android)/java/com/yasirkula/unity/FileBrowserDirectoryReceiver.java:
--------------------------------------------------------------------------------
1 | package com.yasirkula.unity;
2 |
3 | public interface FileBrowserDirectoryReceiver
4 | {
5 | void OnDirectoryPicked( String rawUri, String name );
6 | }
7 |
--------------------------------------------------------------------------------
/.github/AAR Source (Android)/java/com/yasirkula/unity/FileBrowserPermissionFragment.java:
--------------------------------------------------------------------------------
1 | package com.yasirkula.unity;
2 |
3 | // Original work Copyright (c) 2017 Yury Habets
4 | // Modified work Copyright 2018 yasirkula
5 | //
6 | // Permission is hereby granted, free of charge, to any person obtaining a copy
7 | // of this software and associated documentation files (the "Software"), to deal
8 | // in the Software without restriction, including without limitation the rights
9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | // copies of the Software, and to permit persons to whom the Software is
11 | // furnished to do so, subject to the following conditions:
12 | //
13 | // The above copyright notice and this permission notice shall be included in
14 | // all copies or substantial portions of the Software.
15 | //
16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | // SOFTWARE.
23 |
24 | import android.Manifest;
25 | import android.annotation.TargetApi;
26 | import android.app.Fragment;
27 | import android.content.Intent;
28 | import android.content.pm.PackageManager;
29 | import android.os.Build;
30 | import android.os.Bundle;
31 | import android.util.Log;
32 |
33 | @TargetApi( Build.VERSION_CODES.M )
34 | public class FileBrowserPermissionFragment extends Fragment
35 | {
36 | private static final int PERMISSIONS_REQUEST_CODE = 123645;
37 |
38 | private final FileBrowserPermissionReceiver permissionReceiver;
39 |
40 | public FileBrowserPermissionFragment()
41 | {
42 | permissionReceiver = null;
43 | }
44 |
45 | public FileBrowserPermissionFragment( final FileBrowserPermissionReceiver permissionReceiver )
46 | {
47 | this.permissionReceiver = permissionReceiver;
48 | }
49 |
50 | @Override
51 | public void onCreate( Bundle savedInstanceState )
52 | {
53 | super.onCreate( savedInstanceState );
54 | if( permissionReceiver == null )
55 | onRequestPermissionsResult( PERMISSIONS_REQUEST_CODE, new String[0], new int[0] );
56 | else
57 | {
58 | if( Build.VERSION.SDK_INT < 30 )
59 | requestPermissions( new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE }, PERMISSIONS_REQUEST_CODE );
60 | else if( Build.VERSION.SDK_INT < 33 || getActivity().getApplicationInfo().targetSdkVersion < 33 )
61 | requestPermissions( new String[] { Manifest.permission.READ_EXTERNAL_STORAGE }, PERMISSIONS_REQUEST_CODE );
62 | else
63 | onRequestPermissionsResult( PERMISSIONS_REQUEST_CODE, new String[] { Manifest.permission.READ_EXTERNAL_STORAGE }, new int[] { PackageManager.PERMISSION_GRANTED } );
64 | }
65 | }
66 |
67 | @Override
68 | public void onRequestPermissionsResult( int requestCode, String[] permissions, int[] grantResults )
69 | {
70 | if( requestCode != PERMISSIONS_REQUEST_CODE )
71 | return;
72 |
73 | if( permissionReceiver == null )
74 | {
75 | Log.e( "Unity", "Fragment data got reset while asking permissions!" );
76 |
77 | getFragmentManager().beginTransaction().remove( this ).commitAllowingStateLoss();
78 | return;
79 | }
80 |
81 | // 0 -> denied, must go to settings
82 | // 1 -> granted
83 | // 2 -> denied, can ask again
84 | int result = 1;
85 | if( permissions.length == 0 || grantResults.length == 0 )
86 | result = 2;
87 | else
88 | {
89 | for( int i = 0; i < permissions.length && i < grantResults.length; ++i )
90 | {
91 | if( grantResults[i] == PackageManager.PERMISSION_DENIED )
92 | {
93 | if( !shouldShowRequestPermissionRationale( permissions[i] ) )
94 | {
95 | result = 0;
96 | break;
97 | }
98 |
99 | result = 2;
100 | }
101 | }
102 | }
103 |
104 | permissionReceiver.OnPermissionResult( result );
105 | getFragmentManager().beginTransaction().remove( this ).commitAllowingStateLoss();
106 |
107 | // Resolves a bug in Unity 2019 where the calling activity
108 | // doesn't resume automatically after the fragment finishes
109 | // Credit: https://stackoverflow.com/a/12409215/2373034
110 | try
111 | {
112 | Intent resumeUnityActivity = new Intent( getActivity(), getActivity().getClass() );
113 | resumeUnityActivity.setFlags( Intent.FLAG_ACTIVITY_REORDER_TO_FRONT );
114 | getActivity().startActivityIfNeeded( resumeUnityActivity, 0 );
115 | }
116 | catch( Exception e )
117 | {
118 | Log.e( "Unity", "Exception (resume):", e );
119 | }
120 | }
121 | }
--------------------------------------------------------------------------------
/.github/AAR Source (Android)/java/com/yasirkula/unity/FileBrowserPermissionReceiver.java:
--------------------------------------------------------------------------------
1 | package com.yasirkula.unity;
2 |
3 | /**
4 | * Created by yasirkula on 5.03.2018.
5 | */
6 |
7 | public interface FileBrowserPermissionReceiver
8 | {
9 | void OnPermissionResult( int result );
10 | }
11 |
--------------------------------------------------------------------------------
/.github/AAR Source (Android)/java/com/yasirkula/unity/FileBrowserSAFEntry.java:
--------------------------------------------------------------------------------
1 | package com.yasirkula.unity;
2 |
3 |
4 | import android.annotation.TargetApi;
5 | import android.content.ContentResolver;
6 | import android.content.Context;
7 | import android.content.Intent;
8 | import android.content.pm.PackageManager;
9 | import android.database.Cursor;
10 | import android.net.Uri;
11 | import android.os.Build;
12 | import android.provider.DocumentsContract;
13 | import android.text.TextUtils;
14 | import android.util.Log;
15 |
16 | import java.util.ArrayList;
17 |
18 | /*
19 | * Copyright (C) 2014 The Android Open Source Project
20 | *
21 | * Licensed under the Apache License, Version 2.0 (the "License");
22 | * you may not use this file except in compliance with the License.
23 | * You may obtain a copy of the License at
24 | *
25 | * http://www.apache.org/licenses/LICENSE-2.0
26 | *
27 | * Unless required by applicable law or agreed to in writing, software
28 | * distributed under the License is distributed on an "AS IS" BASIS,
29 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
30 | * See the License for the specific language governing permissions and
31 | * limitations under the License.
32 | */
33 |
34 | /**
35 | * Edited by yasirkula on 12.10.2019.
36 | */
37 |
38 | // A Storage Access Framework (SAF) file/folder
39 | @TargetApi( Build.VERSION_CODES.Q )
40 | public class FileBrowserSAFEntry
41 | {
42 | private static final String TAG = "DocumentFile";
43 |
44 | private Context mContext;
45 | private Uri mUri;
46 |
47 | public static FileBrowserSAFEntry fromTreeUri( Context context, Uri uri )
48 | {
49 | uri = DocumentsContract.buildDocumentUriUsingTree( uri, DocumentsContract.getTreeDocumentId( uri ) );
50 | if( uri == null )
51 | return null;
52 |
53 | return new FileBrowserSAFEntry( context, uri );
54 | }
55 |
56 | public FileBrowserSAFEntry( Context context, Uri uri )
57 | {
58 | mContext = context;
59 | mUri = uri;
60 | }
61 |
62 | public FileBrowserSAFEntry createFile( String mimeType, String displayName )
63 | {
64 | try
65 | {
66 | final Uri result = DocumentsContract.createDocument( mContext.getContentResolver(), mUri, mimeType, displayName );
67 | return ( result != null ) ? new FileBrowserSAFEntry( mContext, result ) : null;
68 | }
69 | catch( Exception e )
70 | {
71 | Log.e( "Unity", "Exception:", e );
72 | return null;
73 | }
74 | }
75 |
76 | public FileBrowserSAFEntry createDirectory( String displayName )
77 | {
78 | try
79 | {
80 | final Uri result = DocumentsContract.createDocument( mContext.getContentResolver(), mUri, DocumentsContract.Document.MIME_TYPE_DIR, displayName );
81 | return ( result != null ) ? new FileBrowserSAFEntry( mContext, result ) : null;
82 | }
83 | catch( Exception e )
84 | {
85 | Log.e( "Unity", "Exception:", e );
86 | return null;
87 | }
88 | }
89 |
90 | public Uri getUri()
91 | {
92 | return mUri;
93 | }
94 |
95 | public String getName()
96 | {
97 | return queryForString( DocumentsContract.Document.COLUMN_DISPLAY_NAME, null );
98 | }
99 |
100 | public String getType()
101 | {
102 | final String rawType = getRawType();
103 | if( DocumentsContract.Document.MIME_TYPE_DIR.equals( rawType ) )
104 | {
105 | return null;
106 | }
107 | else
108 | {
109 | return rawType;
110 | }
111 | }
112 |
113 | public boolean isDirectory()
114 | {
115 | return DocumentsContract.Document.MIME_TYPE_DIR.equals( getRawType() );
116 | }
117 |
118 | public boolean isFile()
119 | {
120 | final String type = getRawType();
121 | if( DocumentsContract.Document.MIME_TYPE_DIR.equals( type ) || TextUtils.isEmpty( type ) )
122 | {
123 | return false;
124 | }
125 | else
126 | {
127 | return true;
128 | }
129 | }
130 |
131 | public long lastModified()
132 | {
133 | return queryForLong( DocumentsContract.Document.COLUMN_LAST_MODIFIED, 0 );
134 | }
135 |
136 | public long length()
137 | {
138 | return queryForLong( DocumentsContract.Document.COLUMN_SIZE, 0 );
139 | }
140 |
141 | public boolean canRead()
142 | {
143 | // Ignore if grant doesn't allow read
144 | if( mContext.checkCallingOrSelfUriPermission( mUri, Intent.FLAG_GRANT_READ_URI_PERMISSION )
145 | != PackageManager.PERMISSION_GRANTED )
146 | {
147 | return false;
148 | }
149 | // Ignore documents without MIME
150 | if( TextUtils.isEmpty( getRawType() ) )
151 | {
152 | return false;
153 | }
154 | return true;
155 | }
156 |
157 | public boolean canWrite()
158 | {
159 | // Ignore if grant doesn't allow write
160 | if( mContext.checkCallingOrSelfUriPermission( mUri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION )
161 | != PackageManager.PERMISSION_GRANTED )
162 | {
163 | return false;
164 | }
165 | final String type = getRawType();
166 | final int flags = queryForInt( DocumentsContract.Document.COLUMN_FLAGS, 0 );
167 | // Ignore documents without MIME
168 | if( TextUtils.isEmpty( type ) )
169 | {
170 | return false;
171 | }
172 | // Deletable documents considered writable
173 | if( ( flags & DocumentsContract.Document.FLAG_SUPPORTS_DELETE ) != 0 )
174 | {
175 | return true;
176 | }
177 | if( DocumentsContract.Document.MIME_TYPE_DIR.equals( type )
178 | && ( flags & DocumentsContract.Document.FLAG_DIR_SUPPORTS_CREATE ) != 0 )
179 | {
180 | // Directories that allow create considered writable
181 | return true;
182 | }
183 | else if( !TextUtils.isEmpty( type )
184 | && ( flags & DocumentsContract.Document.FLAG_SUPPORTS_WRITE ) != 0 )
185 | {
186 | // Writable normal files considered writable
187 | return true;
188 | }
189 | return false;
190 | }
191 |
192 | public boolean delete()
193 | {
194 | try
195 | {
196 | return DocumentsContract.deleteDocument( mContext.getContentResolver(), mUri );
197 | }
198 | catch( Exception e )
199 | {
200 | Log.e( "Unity", "Exception:", e );
201 | }
202 |
203 | return false;
204 | }
205 |
206 | public boolean exists()
207 | {
208 | final ContentResolver resolver = mContext.getContentResolver();
209 | Cursor c = null;
210 | try
211 | {
212 | c = resolver.query( mUri, new String[] {
213 | DocumentsContract.Document.COLUMN_DOCUMENT_ID }, null, null, null );
214 | return c.getCount() > 0;
215 | }
216 | catch( Exception e )
217 | {
218 | Log.w( TAG, "Failed query: " + e );
219 | return false;
220 | }
221 | finally
222 | {
223 | try
224 | {
225 | if( c != null )
226 | c.close();
227 | }
228 | catch( Exception e )
229 | {
230 | Log.e( TAG, "Exception:", e );
231 | }
232 | }
233 | }
234 |
235 | public ArrayList listFiles()
236 | {
237 | final ContentResolver resolver = mContext.getContentResolver();
238 | final Uri childrenUri = DocumentsContract.buildChildDocumentsUriUsingTree( mUri,
239 | DocumentsContract.getDocumentId( mUri ) );
240 | final ArrayList results = new ArrayList();
241 | Cursor c = null;
242 | try
243 | {
244 | c = resolver.query( childrenUri, new String[] {
245 | DocumentsContract.Document.COLUMN_DOCUMENT_ID }, null, null, null );
246 | while( c.moveToNext() )
247 | {
248 | final String documentId = c.getString( 0 );
249 | final Uri documentUri = DocumentsContract.buildDocumentUriUsingTree( mUri,
250 | documentId );
251 | results.add( new FileBrowserSAFEntry( mContext, documentUri ) );
252 | }
253 | }
254 | catch( Exception e )
255 | {
256 | Log.w( "Unity", "Failed query: " + e );
257 | }
258 | finally
259 | {
260 | try
261 | {
262 | if( c != null )
263 | c.close();
264 | }
265 | catch( Exception e )
266 | {
267 | Log.e( TAG, "Exception:", e );
268 | }
269 | }
270 |
271 | return results;
272 | }
273 |
274 | public void appendFilesToStringBuilder( StringBuilder stringBuilder )
275 | {
276 | final ContentResolver resolver = mContext.getContentResolver();
277 | final Uri childrenUri = DocumentsContract.buildChildDocumentsUriUsingTree( mUri, DocumentsContract.getDocumentId( mUri ) );
278 | Cursor c = null;
279 | try
280 | {
281 | c = resolver.query( childrenUri, new String[] { DocumentsContract.Document.COLUMN_DOCUMENT_ID, DocumentsContract.Document.COLUMN_MIME_TYPE, DocumentsContract.Document.COLUMN_DISPLAY_NAME }, null, null, null );
282 | stringBuilder.append( c.getCount() ).append( "<>" );
283 | if( c.moveToNext() )
284 | {
285 | int documentIdIndex = c.getColumnIndex( DocumentsContract.Document.COLUMN_DOCUMENT_ID );
286 | int mimeTypeIndex = c.getColumnIndex( DocumentsContract.Document.COLUMN_MIME_TYPE );
287 | int nameIndex = c.getColumnIndex( DocumentsContract.Document.COLUMN_DISPLAY_NAME );
288 |
289 | do
290 | {
291 | final boolean isDirectory = DocumentsContract.Document.MIME_TYPE_DIR.equals( c.getString( mimeTypeIndex ) );
292 | final String name = c.getString( nameIndex );
293 | final String uri = DocumentsContract.buildDocumentUriUsingTree( mUri, c.getString( documentIdIndex ) ).toString();
294 |
295 | stringBuilder.append( isDirectory ? "d" : "f" ).append( name ).append( "<>" ).append( uri ).append( "<>" );
296 | } while( c.moveToNext() );
297 | }
298 | }
299 | catch( Exception e )
300 | {
301 | Log.w( "Unity", "Failed query: " + e );
302 | }
303 | finally
304 | {
305 | try
306 | {
307 | if( c != null )
308 | c.close();
309 | }
310 | catch( Exception e )
311 | {
312 | Log.e( TAG, "Exception:", e );
313 | }
314 | }
315 | }
316 |
317 | public String renameTo( String displayName )
318 | {
319 | try
320 | {
321 | final Uri result = DocumentsContract.renameDocument( mContext.getContentResolver(), mUri, displayName );
322 | if( result != null )
323 | mUri = result;
324 | }
325 | catch( Exception e )
326 | {
327 | Log.e( "Unity", "Exception:", e );
328 | }
329 |
330 | return mUri.toString();
331 | }
332 |
333 | private String getRawType()
334 | {
335 | return queryForString( DocumentsContract.Document.COLUMN_MIME_TYPE, null );
336 | }
337 |
338 | private String queryForString( String column, String defaultValue )
339 | {
340 | final ContentResolver resolver = mContext.getContentResolver();
341 | Cursor c = null;
342 | try
343 | {
344 | c = resolver.query( mUri, new String[] { column }, null, null, null );
345 | if( c.moveToFirst() && !c.isNull( 0 ) )
346 | return c.getString( 0 );
347 |
348 | return defaultValue;
349 | }
350 | catch( Exception e )
351 | {
352 | Log.w( TAG, "Failed query: " + e );
353 | return defaultValue;
354 | }
355 | finally
356 | {
357 | try
358 | {
359 | if( c != null )
360 | c.close();
361 | }
362 | catch( Exception e )
363 | {
364 | Log.e( TAG, "Exception:", e );
365 | }
366 | }
367 | }
368 |
369 | private int queryForInt( String column, int defaultValue )
370 | {
371 | return (int) queryForLong( column, defaultValue );
372 | }
373 |
374 | private long queryForLong( String column, long defaultValue )
375 | {
376 | final ContentResolver resolver = mContext.getContentResolver();
377 | Cursor c = null;
378 | try
379 | {
380 | c = resolver.query( mUri, new String[] { column }, null, null, null );
381 | if( c.moveToFirst() && !c.isNull( 0 ) )
382 | return c.getLong( 0 );
383 |
384 | return defaultValue;
385 | }
386 | catch( Exception e )
387 | {
388 | Log.w( TAG, "Failed query: " + e );
389 | return defaultValue;
390 | }
391 | finally
392 | {
393 | try
394 | {
395 | if( c != null )
396 | c.close();
397 | }
398 | catch( Exception e )
399 | {
400 | Log.e( TAG, "Exception:", e );
401 | }
402 | }
403 | }
404 | }
--------------------------------------------------------------------------------
/.github/AAR Source (Android)/proguard.txt:
--------------------------------------------------------------------------------
1 | -keep class com.yasirkula.unity.* { *; }
--------------------------------------------------------------------------------
/.github/screenshots/filebrowser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/.github/screenshots/filebrowser.png
--------------------------------------------------------------------------------
/LICENSE.txt:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2016 Süleyman Yasir KULA
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/LICENSE.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: adc314bc335146f40947fcc9c8ba94b7
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Plugins.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f591e2e954b199041ac528f623ed782c
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6440a5f3157375d469774ee0793ec07b
3 | folderAsset: yes
4 | timeCreated: 1479413187
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Android.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ff366e107d0770a41a2afe8ad87ef708
3 | folderAsset: yes
4 | timeCreated: 1509396159
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Android/FBCallbackHelper.cs:
--------------------------------------------------------------------------------
1 | #if UNITY_EDITOR || UNITY_ANDROID
2 | using System;
3 | using UnityEngine;
4 |
5 | namespace SimpleFileBrowser
6 | {
7 | public class FBCallbackHelper : MonoBehaviour
8 | {
9 | private bool autoDestroyWithCallback;
10 | private Action mainThreadAction = null;
11 |
12 | public static FBCallbackHelper Create( bool autoDestroyWithCallback )
13 | {
14 | FBCallbackHelper result = new GameObject( "FBCallbackHelper" ).AddComponent();
15 | result.autoDestroyWithCallback = autoDestroyWithCallback;
16 | DontDestroyOnLoad( result.gameObject );
17 | return result;
18 | }
19 |
20 | public void CallOnMainThread( Action function )
21 | {
22 | lock( this )
23 | {
24 | mainThreadAction += function;
25 | }
26 | }
27 |
28 | private void Update()
29 | {
30 | if( mainThreadAction != null )
31 | {
32 | try
33 | {
34 | Action temp;
35 | lock( this )
36 | {
37 | temp = mainThreadAction;
38 | mainThreadAction = null;
39 | }
40 |
41 | temp();
42 | }
43 | finally
44 | {
45 | if( autoDestroyWithCallback )
46 | Destroy( gameObject );
47 | }
48 | }
49 | }
50 | }
51 | }
52 | #endif
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Android/FBCallbackHelper.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 997bfc59716c24c41ad03bcbd7f8ef0a
3 | timeCreated: 1570918076
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Android/FBDirectoryReceiveCallbackAndroid.cs:
--------------------------------------------------------------------------------
1 | #if UNITY_EDITOR || UNITY_ANDROID
2 | using UnityEngine;
3 |
4 | namespace SimpleFileBrowser
5 | {
6 | public class FBDirectoryReceiveCallbackAndroid : AndroidJavaProxy
7 | {
8 | private readonly FileBrowser.AndroidSAFDirectoryPickCallback callback;
9 | private readonly FBCallbackHelper callbackHelper;
10 |
11 | public FBDirectoryReceiveCallbackAndroid( FileBrowser.AndroidSAFDirectoryPickCallback callback ) : base( "com.yasirkula.unity.FileBrowserDirectoryReceiver" )
12 | {
13 | this.callback = callback;
14 | callbackHelper = FBCallbackHelper.Create( true );
15 | }
16 |
17 | [UnityEngine.Scripting.Preserve]
18 | public void OnDirectoryPicked( string rawUri, string name )
19 | {
20 | callbackHelper.CallOnMainThread( () => callback( rawUri, name ) );
21 | }
22 | }
23 | }
24 | #endif
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Android/FBDirectoryReceiveCallbackAndroid.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8dec4dc5be16ca84e9c147627361671d
3 | timeCreated: 1520199471
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Android/FBPermissionCallbackAndroid.cs:
--------------------------------------------------------------------------------
1 | #if UNITY_EDITOR || UNITY_ANDROID
2 | using UnityEngine;
3 |
4 | namespace SimpleFileBrowser
5 | {
6 | public class FBPermissionCallbackAndroid : AndroidJavaProxy
7 | {
8 | private readonly FileBrowser.PermissionCallback callback;
9 | private readonly FBCallbackHelper callbackHelper;
10 |
11 | public FBPermissionCallbackAndroid( FileBrowser.PermissionCallback callback ) : base( "com.yasirkula.unity.FileBrowserPermissionReceiver" )
12 | {
13 | this.callback = callback;
14 | callbackHelper = FBCallbackHelper.Create( true );
15 | }
16 |
17 | [UnityEngine.Scripting.Preserve]
18 | public void OnPermissionResult( int result )
19 | {
20 | callbackHelper.CallOnMainThread( () => callback( (FileBrowser.Permission) result ) );
21 | }
22 | }
23 | }
24 | #endif
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Android/FBPermissionCallbackAndroid.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2cd91db0ba676ef47af67e3597037d1a
3 | timeCreated: 1520199471
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Android/SimpleFileBrowser.aar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Android/SimpleFileBrowser.aar
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Android/SimpleFileBrowser.aar.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cae0a78f915b13748ba09fd56bafb4c8
3 | timeCreated: 1606638456
4 | licenseType: Free
5 | PluginImporter:
6 | serializedVersion: 2
7 | iconMap: {}
8 | executionOrder: {}
9 | isPreloaded: 0
10 | isOverridable: 0
11 | platformData:
12 | data:
13 | first:
14 | Android: Android
15 | second:
16 | enabled: 1
17 | settings: {}
18 | data:
19 | first:
20 | Any:
21 | second:
22 | enabled: 0
23 | settings: {}
24 | data:
25 | first:
26 | Editor: Editor
27 | second:
28 | enabled: 0
29 | settings:
30 | DefaultValueInitialized: true
31 | userData:
32 | assetBundleName:
33 | assetBundleVariant:
34 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Prefabs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 53eaeb5abaee5aa4ca7f07beacb73c2e
3 | folderAsset: yes
4 | timeCreated: 1479489583
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserItem.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &1000010981689570
4 | GameObject:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | serializedVersion: 6
10 | m_Component:
11 | - component: {fileID: 224000013702633820}
12 | - component: {fileID: 222000010857273394}
13 | - component: {fileID: 4089076303554880505}
14 | m_Layer: 5
15 | m_Name: Name
16 | m_TagString: Untagged
17 | m_Icon: {fileID: 0}
18 | m_NavMeshLayer: 0
19 | m_StaticEditorFlags: 0
20 | m_IsActive: 1
21 | --- !u!224 &224000013702633820
22 | RectTransform:
23 | m_ObjectHideFlags: 0
24 | m_CorrespondingSourceObject: {fileID: 0}
25 | m_PrefabInstance: {fileID: 0}
26 | m_PrefabAsset: {fileID: 0}
27 | m_GameObject: {fileID: 1000010981689570}
28 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
29 | m_LocalPosition: {x: 0, y: 0, z: 0}
30 | m_LocalScale: {x: 1, y: 1, z: 1}
31 | m_ConstrainProportionsScale: 0
32 | m_Children: []
33 | m_Father: {fileID: 224000013952242090}
34 | m_RootOrder: 2
35 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
36 | m_AnchorMin: {x: 0, y: 0}
37 | m_AnchorMax: {x: 1, y: 1}
38 | m_AnchoredPosition: {x: 19, y: 0}
39 | m_SizeDelta: {x: -38, y: 0}
40 | m_Pivot: {x: 0.5, y: 0.5}
41 | --- !u!222 &222000010857273394
42 | CanvasRenderer:
43 | m_ObjectHideFlags: 0
44 | m_CorrespondingSourceObject: {fileID: 0}
45 | m_PrefabInstance: {fileID: 0}
46 | m_PrefabAsset: {fileID: 0}
47 | m_GameObject: {fileID: 1000010981689570}
48 | m_CullTransparentMesh: 1
49 | --- !u!114 &4089076303554880505
50 | MonoBehaviour:
51 | m_ObjectHideFlags: 0
52 | m_CorrespondingSourceObject: {fileID: 0}
53 | m_PrefabInstance: {fileID: 0}
54 | m_PrefabAsset: {fileID: 0}
55 | m_GameObject: {fileID: 1000010981689570}
56 | m_Enabled: 1
57 | m_EditorHideFlags: 0
58 | m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
59 | m_Name:
60 | m_EditorClassIdentifier:
61 | m_Material: {fileID: 0}
62 | m_Color: {r: 1, g: 1, b: 1, a: 1}
63 | m_RaycastTarget: 0
64 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
65 | m_Maskable: 1
66 | m_OnCullStateChanged:
67 | m_PersistentCalls:
68 | m_Calls: []
69 | m_text: Filename
70 | m_isRightToLeft: 0
71 | m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
72 | m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
73 | m_fontSharedMaterials: []
74 | m_fontMaterial: {fileID: 0}
75 | m_fontMaterials: []
76 | m_fontColor32:
77 | serializedVersion: 2
78 | rgba: 4294967295
79 | m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
80 | m_enableVertexGradient: 0
81 | m_colorMode: 3
82 | m_fontColorGradient:
83 | topLeft: {r: 1, g: 1, b: 1, a: 1}
84 | topRight: {r: 1, g: 1, b: 1, a: 1}
85 | bottomLeft: {r: 1, g: 1, b: 1, a: 1}
86 | bottomRight: {r: 1, g: 1, b: 1, a: 1}
87 | m_fontColorGradientPreset: {fileID: 0}
88 | m_spriteAsset: {fileID: 0}
89 | m_tintAllSprites: 0
90 | m_StyleSheet: {fileID: 0}
91 | m_TextStyleHashCode: 0
92 | m_overrideHtmlColors: 0
93 | m_faceColor:
94 | serializedVersion: 2
95 | rgba: 4294967295
96 | m_fontSize: 14
97 | m_fontSizeBase: 14
98 | m_fontWeight: 400
99 | m_enableAutoSizing: 0
100 | m_fontSizeMin: 10
101 | m_fontSizeMax: 40
102 | m_fontStyle: 0
103 | m_HorizontalAlignment: 1
104 | m_VerticalAlignment: 512
105 | m_textAlignment: 65535
106 | m_characterSpacing: 0
107 | m_wordSpacing: 0
108 | m_lineSpacing: 0
109 | m_lineSpacingMax: 0
110 | m_paragraphSpacing: 0
111 | m_charWidthMaxAdj: 0
112 | m_enableWordWrapping: 0
113 | m_wordWrappingRatios: 0.4
114 | m_overflowMode: 3
115 | m_linkedTextComponent: {fileID: 0}
116 | parentLinkedComponent: {fileID: 0}
117 | m_enableKerning: 1
118 | m_enableExtraPadding: 0
119 | checkPaddingRequired: 0
120 | m_isRichText: 0
121 | m_parseCtrlCharacters: 0
122 | m_isOrthographic: 1
123 | m_isCullingEnabled: 0
124 | m_horizontalMapping: 0
125 | m_verticalMapping: 0
126 | m_uvLineOffset: 0
127 | m_geometrySortingOrder: 0
128 | m_IsTextObjectScaleStatic: 0
129 | m_VertexBufferAutoSizeReduction: 0
130 | m_useMaxVisibleDescender: 1
131 | m_pageToDisplay: 1
132 | m_margin: {x: 0, y: 0, z: 0, w: 0}
133 | m_isUsingLegacyAnimationComponent: 0
134 | m_isVolumetricText: 0
135 | m_hasFontAssetChanged: 0
136 | m_baseMaterial: {fileID: 0}
137 | m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
138 | --- !u!1 &1000011646011302
139 | GameObject:
140 | m_ObjectHideFlags: 0
141 | m_CorrespondingSourceObject: {fileID: 0}
142 | m_PrefabInstance: {fileID: 0}
143 | m_PrefabAsset: {fileID: 0}
144 | serializedVersion: 6
145 | m_Component:
146 | - component: {fileID: 224000013952242090}
147 | - component: {fileID: 222000013410998874}
148 | - component: {fileID: 114000012602770182}
149 | - component: {fileID: 114000012265032802}
150 | m_Layer: 5
151 | m_Name: SimpleFileBrowserItem
152 | m_TagString: Untagged
153 | m_Icon: {fileID: 0}
154 | m_NavMeshLayer: 0
155 | m_StaticEditorFlags: 0
156 | m_IsActive: 1
157 | --- !u!224 &224000013952242090
158 | RectTransform:
159 | m_ObjectHideFlags: 0
160 | m_CorrespondingSourceObject: {fileID: 0}
161 | m_PrefabInstance: {fileID: 0}
162 | m_PrefabAsset: {fileID: 0}
163 | m_GameObject: {fileID: 1000011646011302}
164 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
165 | m_LocalPosition: {x: 0, y: 0, z: 0}
166 | m_LocalScale: {x: 1, y: 1, z: 1}
167 | m_ConstrainProportionsScale: 0
168 | m_Children:
169 | - {fileID: 224000012393993334}
170 | - {fileID: 224447975432582502}
171 | - {fileID: 224000013702633820}
172 | m_Father: {fileID: 0}
173 | m_RootOrder: 0
174 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
175 | m_AnchorMin: {x: 0, y: 1}
176 | m_AnchorMax: {x: 1, y: 1}
177 | m_AnchoredPosition: {x: 0, y: 0}
178 | m_SizeDelta: {x: 0, y: 30}
179 | m_Pivot: {x: 0, y: 1}
180 | --- !u!222 &222000013410998874
181 | CanvasRenderer:
182 | m_ObjectHideFlags: 0
183 | m_CorrespondingSourceObject: {fileID: 0}
184 | m_PrefabInstance: {fileID: 0}
185 | m_PrefabAsset: {fileID: 0}
186 | m_GameObject: {fileID: 1000011646011302}
187 | m_CullTransparentMesh: 1
188 | --- !u!114 &114000012602770182
189 | MonoBehaviour:
190 | m_ObjectHideFlags: 0
191 | m_CorrespondingSourceObject: {fileID: 0}
192 | m_PrefabInstance: {fileID: 0}
193 | m_PrefabAsset: {fileID: 0}
194 | m_GameObject: {fileID: 1000011646011302}
195 | m_Enabled: 1
196 | m_EditorHideFlags: 0
197 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
198 | m_Name:
199 | m_EditorClassIdentifier:
200 | m_Material: {fileID: 0}
201 | m_Color: {r: 1, g: 1, b: 1, a: 1}
202 | m_RaycastTarget: 1
203 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
204 | m_Maskable: 1
205 | m_OnCullStateChanged:
206 | m_PersistentCalls:
207 | m_Calls: []
208 | m_Sprite: {fileID: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3}
209 | m_Type: 1
210 | m_PreserveAspect: 0
211 | m_FillCenter: 1
212 | m_FillMethod: 4
213 | m_FillAmount: 1
214 | m_FillClockwise: 1
215 | m_FillOrigin: 0
216 | m_UseSpriteMesh: 0
217 | m_PixelsPerUnitMultiplier: 1
218 | --- !u!114 &114000012265032802
219 | MonoBehaviour:
220 | m_ObjectHideFlags: 0
221 | m_CorrespondingSourceObject: {fileID: 0}
222 | m_PrefabInstance: {fileID: 0}
223 | m_PrefabAsset: {fileID: 0}
224 | m_GameObject: {fileID: 1000011646011302}
225 | m_Enabled: 1
226 | m_EditorHideFlags: 0
227 | m_Script: {fileID: 11500000, guid: b5f1b2825c50f7b4d9be146ab2137bff, type: 3}
228 | m_Name:
229 | m_EditorClassIdentifier:
230 | background: {fileID: 114000012602770182}
231 | icon: {fileID: 114807149938652920}
232 | multiSelectionToggle: {fileID: 114000013208375990}
233 | nameText: {fileID: 4089076303554880505}
234 | --- !u!1 &1000013967986654
235 | GameObject:
236 | m_ObjectHideFlags: 0
237 | m_CorrespondingSourceObject: {fileID: 0}
238 | m_PrefabInstance: {fileID: 0}
239 | m_PrefabAsset: {fileID: 0}
240 | serializedVersion: 6
241 | m_Component:
242 | - component: {fileID: 224000012393993334}
243 | - component: {fileID: 222000012809932278}
244 | - component: {fileID: 114000013208375990}
245 | m_Layer: 5
246 | m_Name: MultiSelectionToggle
247 | m_TagString: Untagged
248 | m_Icon: {fileID: 0}
249 | m_NavMeshLayer: 0
250 | m_StaticEditorFlags: 0
251 | m_IsActive: 0
252 | --- !u!224 &224000012393993334
253 | RectTransform:
254 | m_ObjectHideFlags: 0
255 | m_CorrespondingSourceObject: {fileID: 0}
256 | m_PrefabInstance: {fileID: 0}
257 | m_PrefabAsset: {fileID: 0}
258 | m_GameObject: {fileID: 1000013967986654}
259 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
260 | m_LocalPosition: {x: 0, y: 0, z: 0}
261 | m_LocalScale: {x: 1, y: 1, z: 1}
262 | m_ConstrainProportionsScale: 0
263 | m_Children: []
264 | m_Father: {fileID: 224000013952242090}
265 | m_RootOrder: 0
266 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
267 | m_AnchorMin: {x: 0, y: 0}
268 | m_AnchorMax: {x: 0, y: 1}
269 | m_AnchoredPosition: {x: 18.99997, y: 0}
270 | m_SizeDelta: {x: 30, y: -6}
271 | m_Pivot: {x: 0.5, y: 0.5}
272 | --- !u!222 &222000012809932278
273 | CanvasRenderer:
274 | m_ObjectHideFlags: 0
275 | m_CorrespondingSourceObject: {fileID: 0}
276 | m_PrefabInstance: {fileID: 0}
277 | m_PrefabAsset: {fileID: 0}
278 | m_GameObject: {fileID: 1000013967986654}
279 | m_CullTransparentMesh: 1
280 | --- !u!114 &114000013208375990
281 | MonoBehaviour:
282 | m_ObjectHideFlags: 0
283 | m_CorrespondingSourceObject: {fileID: 0}
284 | m_PrefabInstance: {fileID: 0}
285 | m_PrefabAsset: {fileID: 0}
286 | m_GameObject: {fileID: 1000013967986654}
287 | m_Enabled: 1
288 | m_EditorHideFlags: 0
289 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
290 | m_Name:
291 | m_EditorClassIdentifier:
292 | m_Material: {fileID: 0}
293 | m_Color: {r: 1, g: 1, b: 1, a: 1}
294 | m_RaycastTarget: 0
295 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
296 | m_Maskable: 1
297 | m_OnCullStateChanged:
298 | m_PersistentCalls:
299 | m_Calls: []
300 | m_Sprite: {fileID: 21300000, guid: d6beaeac8de2af749a48581db778df3e, type: 3}
301 | m_Type: 0
302 | m_PreserveAspect: 1
303 | m_FillCenter: 1
304 | m_FillMethod: 4
305 | m_FillAmount: 1
306 | m_FillClockwise: 1
307 | m_FillOrigin: 0
308 | m_UseSpriteMesh: 0
309 | m_PixelsPerUnitMultiplier: 1
310 | --- !u!1 &1268973638054374
311 | GameObject:
312 | m_ObjectHideFlags: 0
313 | m_CorrespondingSourceObject: {fileID: 0}
314 | m_PrefabInstance: {fileID: 0}
315 | m_PrefabAsset: {fileID: 0}
316 | serializedVersion: 6
317 | m_Component:
318 | - component: {fileID: 224447975432582502}
319 | - component: {fileID: 222113778025760416}
320 | - component: {fileID: 114807149938652920}
321 | - component: {fileID: 114942441918357790}
322 | m_Layer: 5
323 | m_Name: Icon
324 | m_TagString: Untagged
325 | m_Icon: {fileID: 0}
326 | m_NavMeshLayer: 0
327 | m_StaticEditorFlags: 0
328 | m_IsActive: 1
329 | --- !u!224 &224447975432582502
330 | RectTransform:
331 | m_ObjectHideFlags: 0
332 | m_CorrespondingSourceObject: {fileID: 0}
333 | m_PrefabInstance: {fileID: 0}
334 | m_PrefabAsset: {fileID: 0}
335 | m_GameObject: {fileID: 1268973638054374}
336 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
337 | m_LocalPosition: {x: 0, y: 0, z: 0}
338 | m_LocalScale: {x: 1, y: 1, z: 1}
339 | m_ConstrainProportionsScale: 0
340 | m_Children: []
341 | m_Father: {fileID: 224000013952242090}
342 | m_RootOrder: 1
343 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
344 | m_AnchorMin: {x: 0, y: 0}
345 | m_AnchorMax: {x: 0, y: 1}
346 | m_AnchoredPosition: {x: 19, y: 0}
347 | m_SizeDelta: {x: 30, y: -6}
348 | m_Pivot: {x: 0.5, y: 0.5}
349 | --- !u!222 &222113778025760416
350 | CanvasRenderer:
351 | m_ObjectHideFlags: 0
352 | m_CorrespondingSourceObject: {fileID: 0}
353 | m_PrefabInstance: {fileID: 0}
354 | m_PrefabAsset: {fileID: 0}
355 | m_GameObject: {fileID: 1268973638054374}
356 | m_CullTransparentMesh: 1
357 | --- !u!114 &114807149938652920
358 | MonoBehaviour:
359 | m_ObjectHideFlags: 0
360 | m_CorrespondingSourceObject: {fileID: 0}
361 | m_PrefabInstance: {fileID: 0}
362 | m_PrefabAsset: {fileID: 0}
363 | m_GameObject: {fileID: 1268973638054374}
364 | m_Enabled: 1
365 | m_EditorHideFlags: 0
366 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
367 | m_Name:
368 | m_EditorClassIdentifier:
369 | m_Material: {fileID: 0}
370 | m_Color: {r: 1, g: 1, b: 1, a: 1}
371 | m_RaycastTarget: 0
372 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
373 | m_Maskable: 1
374 | m_OnCullStateChanged:
375 | m_PersistentCalls:
376 | m_Calls: []
377 | m_Sprite: {fileID: 0}
378 | m_Type: 0
379 | m_PreserveAspect: 1
380 | m_FillCenter: 1
381 | m_FillMethod: 4
382 | m_FillAmount: 1
383 | m_FillClockwise: 1
384 | m_FillOrigin: 0
385 | m_UseSpriteMesh: 0
386 | m_PixelsPerUnitMultiplier: 1
387 | --- !u!114 &114942441918357790
388 | MonoBehaviour:
389 | m_ObjectHideFlags: 0
390 | m_CorrespondingSourceObject: {fileID: 0}
391 | m_PrefabInstance: {fileID: 0}
392 | m_PrefabAsset: {fileID: 0}
393 | m_GameObject: {fileID: 1268973638054374}
394 | m_Enabled: 1
395 | m_EditorHideFlags: 0
396 | m_Script: {fileID: 11500000, guid: cfabb0440166ab443bba8876756fdfa9, type: 3}
397 | m_Name:
398 | m_EditorClassIdentifier:
399 | m_EffectColor: {r: 0, g: 0, b: 0, a: 0.1764706}
400 | m_EffectDistance: {x: 0.75, y: -0.75}
401 | m_UseGraphicAlpha: 1
402 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserItem.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c2db22c1e3cd2584fa0e9168745a4536
3 | timeCreated: 1479415743
4 | licenseType: Free
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserQuickLink.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1001 &423326606346492666
4 | PrefabInstance:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Modification:
8 | m_TransformParent: {fileID: 0}
9 | m_Modifications:
10 | - target: {fileID: 1000011646011302, guid: c2db22c1e3cd2584fa0e9168745a4536, type: 3}
11 | propertyPath: m_Name
12 | value: SimpleFileBrowserQuickLink
13 | objectReference: {fileID: 0}
14 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
15 | type: 3}
16 | propertyPath: m_Pivot.x
17 | value: 0
18 | objectReference: {fileID: 0}
19 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
20 | type: 3}
21 | propertyPath: m_Pivot.y
22 | value: 1
23 | objectReference: {fileID: 0}
24 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
25 | type: 3}
26 | propertyPath: m_RootOrder
27 | value: 0
28 | objectReference: {fileID: 0}
29 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
30 | type: 3}
31 | propertyPath: m_AnchorMax.x
32 | value: 1
33 | objectReference: {fileID: 0}
34 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
35 | type: 3}
36 | propertyPath: m_AnchorMax.y
37 | value: 1
38 | objectReference: {fileID: 0}
39 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
40 | type: 3}
41 | propertyPath: m_AnchorMin.x
42 | value: 0
43 | objectReference: {fileID: 0}
44 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
45 | type: 3}
46 | propertyPath: m_AnchorMin.y
47 | value: 1
48 | objectReference: {fileID: 0}
49 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
50 | type: 3}
51 | propertyPath: m_SizeDelta.x
52 | value: 0
53 | objectReference: {fileID: 0}
54 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
55 | type: 3}
56 | propertyPath: m_SizeDelta.y
57 | value: 30
58 | objectReference: {fileID: 0}
59 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
60 | type: 3}
61 | propertyPath: m_LocalPosition.x
62 | value: 0
63 | objectReference: {fileID: 0}
64 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
65 | type: 3}
66 | propertyPath: m_LocalPosition.y
67 | value: 0
68 | objectReference: {fileID: 0}
69 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
70 | type: 3}
71 | propertyPath: m_LocalPosition.z
72 | value: 0
73 | objectReference: {fileID: 0}
74 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
75 | type: 3}
76 | propertyPath: m_LocalRotation.w
77 | value: 1
78 | objectReference: {fileID: 0}
79 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
80 | type: 3}
81 | propertyPath: m_LocalRotation.x
82 | value: 0
83 | objectReference: {fileID: 0}
84 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
85 | type: 3}
86 | propertyPath: m_LocalRotation.y
87 | value: 0
88 | objectReference: {fileID: 0}
89 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
90 | type: 3}
91 | propertyPath: m_LocalRotation.z
92 | value: 0
93 | objectReference: {fileID: 0}
94 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
95 | type: 3}
96 | propertyPath: m_AnchoredPosition.x
97 | value: 0
98 | objectReference: {fileID: 0}
99 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
100 | type: 3}
101 | propertyPath: m_AnchoredPosition.y
102 | value: 0
103 | objectReference: {fileID: 0}
104 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
105 | type: 3}
106 | propertyPath: m_LocalEulerAnglesHint.x
107 | value: 0
108 | objectReference: {fileID: 0}
109 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
110 | type: 3}
111 | propertyPath: m_LocalEulerAnglesHint.y
112 | value: 0
113 | objectReference: {fileID: 0}
114 | - target: {fileID: 224000013952242090, guid: c2db22c1e3cd2584fa0e9168745a4536,
115 | type: 3}
116 | propertyPath: m_LocalEulerAnglesHint.z
117 | value: 0
118 | objectReference: {fileID: 0}
119 | m_RemovedComponents:
120 | - {fileID: 114000012265032802, guid: c2db22c1e3cd2584fa0e9168745a4536, type: 3}
121 | m_SourcePrefab: {fileID: 100100000, guid: c2db22c1e3cd2584fa0e9168745a4536, type: 3}
122 | --- !u!114 &308519873171270658 stripped
123 | MonoBehaviour:
124 | m_CorrespondingSourceObject: {fileID: 114807149938652920, guid: c2db22c1e3cd2584fa0e9168745a4536,
125 | type: 3}
126 | m_PrefabInstance: {fileID: 423326606346492666}
127 | m_PrefabAsset: {fileID: 0}
128 | m_GameObject: {fileID: 0}
129 | m_Enabled: 1
130 | m_EditorHideFlags: 0
131 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
132 | m_Name:
133 | m_EditorClassIdentifier:
134 | --- !u!114 &309331268969241084 stripped
135 | MonoBehaviour:
136 | m_CorrespondingSourceObject: {fileID: 114000012602770182, guid: c2db22c1e3cd2584fa0e9168745a4536,
137 | type: 3}
138 | m_PrefabInstance: {fileID: 423326606346492666}
139 | m_PrefabAsset: {fileID: 0}
140 | m_GameObject: {fileID: 422345297158446428}
141 | m_Enabled: 1
142 | m_EditorHideFlags: 0
143 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
144 | m_Name:
145 | m_EditorClassIdentifier:
146 | --- !u!1 &422345297158446428 stripped
147 | GameObject:
148 | m_CorrespondingSourceObject: {fileID: 1000011646011302, guid: c2db22c1e3cd2584fa0e9168745a4536,
149 | type: 3}
150 | m_PrefabInstance: {fileID: 423326606346492666}
151 | m_PrefabAsset: {fileID: 0}
152 | --- !u!114 &1505320505842670623
153 | MonoBehaviour:
154 | m_ObjectHideFlags: 0
155 | m_CorrespondingSourceObject: {fileID: 0}
156 | m_PrefabInstance: {fileID: 0}
157 | m_PrefabAsset: {fileID: 0}
158 | m_GameObject: {fileID: 422345297158446428}
159 | m_Enabled: 1
160 | m_EditorHideFlags: 0
161 | m_Script: {fileID: 11500000, guid: 1f277f5418eabf94cad94208055878af, type: 3}
162 | m_Name:
163 | m_EditorClassIdentifier:
164 | background: {fileID: 309331268969241084}
165 | icon: {fileID: 308519873171270658}
166 | multiSelectionToggle: {fileID: 0}
167 | nameText: {fileID: 4422715658905204995}
168 | --- !u!114 &4422715658905204995 stripped
169 | MonoBehaviour:
170 | m_CorrespondingSourceObject: {fileID: 4089076303554880505, guid: c2db22c1e3cd2584fa0e9168745a4536,
171 | type: 3}
172 | m_PrefabInstance: {fileID: 423326606346492666}
173 | m_PrefabAsset: {fileID: 0}
174 | m_GameObject: {fileID: 0}
175 | m_Enabled: 1
176 | m_EditorHideFlags: 0
177 | m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
178 | m_Name:
179 | m_EditorClassIdentifier:
180 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Prefabs/SimpleFileBrowserQuickLink.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c4e8ee7cea600bf4fb4498b4a47ae8f5
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/README.txt:
--------------------------------------------------------------------------------
1 | = Simple File Browser (v1.7.4) =
2 |
3 | Documentation: https://github.com/yasirkula/UnitySimpleFileBrowser
4 | FAQ: https://github.com/yasirkula/UnitySimpleFileBrowser#faq
5 | Example code: https://github.com/yasirkula/UnitySimpleFileBrowser#example-code
6 | E-mail: yasirkula@gmail.com
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/README.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 02a0a0f34932297429c157aca8b9a977
3 | timeCreated: 1563308858
4 | licenseType: Free
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Resources.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f4cd9780a618bad4b821ad3b1a68bacd
3 | folderAsset: yes
4 | timeCreated: 1479561120
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Resources/SimpleFileBrowserCanvas.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9ea2606f8fddead46aabb7adb3d8d434
3 | timeCreated: 1479415546
4 | licenseType: Free
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: be37f3e38d135f94e9d78c79ef89d303
3 | folderAsset: yes
4 | timeCreated: 1479413886
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/EventSystemHandler.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.EventSystems;
3 | using UnityEngine.SceneManagement;
4 | #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
5 | using UnityEngine.InputSystem.UI;
6 | #endif
7 |
8 | namespace SimpleFileBrowser
9 | {
10 | // Avoid multiple EventSystems in the scene by activating the embedded EventSystem only if one doesn't already exist in the scene
11 | [DefaultExecutionOrder( 1000 )]
12 | public class EventSystemHandler : MonoBehaviour
13 | {
14 | #pragma warning disable 0649
15 | [SerializeField]
16 | private GameObject embeddedEventSystem;
17 | #pragma warning restore 0649
18 |
19 | #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
20 | private void Awake()
21 | {
22 | StandaloneInputModule legacyInputModule = embeddedEventSystem.GetComponent();
23 | if( legacyInputModule )
24 | {
25 | DestroyImmediate( legacyInputModule );
26 | embeddedEventSystem.AddComponent();
27 | }
28 | }
29 | #endif
30 |
31 | private void OnEnable()
32 | {
33 | SceneManager.sceneLoaded -= OnSceneLoaded;
34 | SceneManager.sceneLoaded += OnSceneLoaded;
35 | SceneManager.sceneUnloaded -= OnSceneUnloaded;
36 | SceneManager.sceneUnloaded += OnSceneUnloaded;
37 |
38 | ActivateEventSystemIfNeeded();
39 | }
40 |
41 | private void OnDisable()
42 | {
43 | SceneManager.sceneLoaded -= OnSceneLoaded;
44 | SceneManager.sceneUnloaded -= OnSceneUnloaded;
45 |
46 | DeactivateEventSystem();
47 | }
48 |
49 | private void OnSceneLoaded( Scene scene, LoadSceneMode mode )
50 | {
51 | DeactivateEventSystem();
52 | ActivateEventSystemIfNeeded();
53 | }
54 |
55 | private void OnSceneUnloaded( Scene current )
56 | {
57 | // Deactivate the embedded EventSystem before changing scenes because the new scene might have its own EventSystem
58 | DeactivateEventSystem();
59 | }
60 |
61 | private void ActivateEventSystemIfNeeded()
62 | {
63 | if( embeddedEventSystem && !EventSystem.current )
64 | embeddedEventSystem.SetActive( true );
65 | }
66 |
67 | private void DeactivateEventSystem()
68 | {
69 | if( embeddedEventSystem )
70 | embeddedEventSystem.SetActive( false );
71 | }
72 | }
73 | }
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/EventSystemHandler.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0868341868a4a4641b4d272d2fc5f538
3 | timeCreated: 1658741613
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/FileBrowser.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f51dc09bf9e35804ba0f5e76c527025e
3 | timeCreated: 1479416382
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/FileBrowserAccessRestrictedPanel.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using TMPro;
3 | using UnityEngine;
4 | using UnityEngine.UI;
5 | #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
6 | using UnityEngine.InputSystem;
7 | #endif
8 |
9 | namespace SimpleFileBrowser
10 | {
11 | public class FileBrowserAccessRestrictedPanel : MonoBehaviour
12 | {
13 | #pragma warning disable 0649
14 | [SerializeField]
15 | private HorizontalLayoutGroup contentLayoutGroup;
16 |
17 | [SerializeField]
18 | private TextMeshProUGUI messageLabel;
19 |
20 | [SerializeField]
21 | private Button okButton;
22 | #pragma warning restore 0649
23 |
24 | private void Awake()
25 | {
26 | okButton.onClick.AddListener( OKButtonClicked );
27 | }
28 |
29 | internal void Show()
30 | {
31 | gameObject.SetActive( true );
32 | }
33 |
34 | #if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WSA || UNITY_WSA_10_0
35 | private void LateUpdate()
36 | {
37 | #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
38 | if( Keyboard.current != null )
39 | #endif
40 | {
41 | // Handle keyboard shortcuts
42 | #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
43 | if( Keyboard.current[Key.Enter].wasPressedThisFrame || Keyboard.current[Key.NumpadEnter].wasPressedThisFrame || Keyboard.current[Key.Escape].wasPressedThisFrame )
44 | #else
45 | if( Input.GetKeyDown( KeyCode.Return ) || Input.GetKeyDown( KeyCode.KeypadEnter ) || Input.GetKeyDown( KeyCode.Escape ) )
46 | #endif
47 | OKButtonClicked();
48 | }
49 | }
50 | #endif
51 |
52 | internal void RefreshSkin( UISkin skin )
53 | {
54 | contentLayoutGroup.padding.bottom = 22 + (int) ( skin.RowSpacing + skin.RowHeight );
55 |
56 | Image background = GetComponentInChildren();
57 | background.color = skin.PopupPanelsBackgroundColor;
58 | background.sprite = skin.PopupPanelsBackground;
59 |
60 | RectTransform buttonsParent = (RectTransform) okButton.transform.parent;
61 | buttonsParent.sizeDelta = new Vector2( buttonsParent.sizeDelta.x, skin.RowHeight );
62 |
63 | skin.ApplyTo( okButton );
64 | skin.ApplyTo( messageLabel, skin.PopupPanelsTextColor );
65 | }
66 |
67 | private void OKButtonClicked()
68 | {
69 | gameObject.SetActive( false );
70 | }
71 | }
72 | }
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/FileBrowserAccessRestrictedPanel.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 85ea21be7cacb484cb6db0d183d3b2a8
3 | timeCreated: 1603800894
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/FileBrowserContextMenu.cs:
--------------------------------------------------------------------------------
1 | using TMPro;
2 | using UnityEngine;
3 | using UnityEngine.UI;
4 |
5 | namespace SimpleFileBrowser
6 | {
7 | public class FileBrowserContextMenu : MonoBehaviour
8 | {
9 | #pragma warning disable 0649
10 | [SerializeField]
11 | private FileBrowser fileBrowser;
12 |
13 | [SerializeField]
14 | private RectTransform rectTransform;
15 |
16 | [SerializeField]
17 | private Button selectAllButton;
18 | [SerializeField]
19 | private Button deselectAllButton;
20 | [SerializeField]
21 | private Button createFolderButton;
22 | [SerializeField]
23 | private Button deleteButton;
24 | [SerializeField]
25 | private Button renameButton;
26 |
27 | [SerializeField]
28 | private GameObject selectAllButtonSeparator;
29 |
30 | [SerializeField]
31 | private LayoutElement[] allButtonLayoutElements;
32 | [SerializeField]
33 | private TextMeshProUGUI[] allButtonTexts;
34 | [SerializeField]
35 | private Image[] allButtonSeparators;
36 |
37 | [SerializeField]
38 | private float minDistanceToEdges = 10f;
39 | #pragma warning restore 0649
40 |
41 | private void Awake()
42 | {
43 | selectAllButton.onClick.AddListener( OnSelectAllButtonClicked );
44 | deselectAllButton.onClick.AddListener( OnDeselectAllButtonClicked );
45 | createFolderButton.onClick.AddListener( OnCreateFolderButtonClicked );
46 | deleteButton.onClick.AddListener( OnDeleteButtonClicked );
47 | renameButton.onClick.AddListener( OnRenameButtonClicked );
48 | }
49 |
50 | internal void Show( bool selectAllButtonVisible, bool deselectAllButtonVisible, bool deleteButtonVisible, bool renameButtonVisible, Vector2 position, bool isMoreOptionsMenu )
51 | {
52 | selectAllButton.gameObject.SetActive( selectAllButtonVisible );
53 | deselectAllButton.gameObject.SetActive( deselectAllButtonVisible );
54 | deleteButton.gameObject.SetActive( deleteButtonVisible );
55 | renameButton.gameObject.SetActive( renameButtonVisible );
56 | selectAllButtonSeparator.SetActive( !deselectAllButtonVisible );
57 |
58 | rectTransform.anchoredPosition = position;
59 | gameObject.SetActive( true );
60 |
61 | if( isMoreOptionsMenu )
62 | rectTransform.pivot = Vector2.one;
63 | else
64 | {
65 | // Find the optimal pivot value
66 | LayoutRebuilder.ForceRebuildLayoutImmediate( rectTransform );
67 |
68 | Vector2 size = rectTransform.sizeDelta;
69 | Vector2 canvasSize = fileBrowser.rectTransform.sizeDelta;
70 |
71 | // Take canvas' Pivot into consideration
72 | Vector2 positionOffset = canvasSize;
73 | positionOffset.Scale( fileBrowser.rectTransform.pivot );
74 | position += positionOffset;
75 |
76 | // Try bottom-right corner first
77 | Vector2 cornerPos = position + new Vector2( size.x + minDistanceToEdges, -size.y - minDistanceToEdges );
78 | if( cornerPos.x <= canvasSize.x && cornerPos.y >= 0f )
79 | rectTransform.pivot = new Vector2( 0f, 1f );
80 | else
81 | {
82 | // Try bottom-left corner
83 | cornerPos = position - new Vector2( size.x + minDistanceToEdges, size.y + minDistanceToEdges );
84 | if( cornerPos.x >= 0f && cornerPos.y >= 0f )
85 | rectTransform.pivot = Vector2.one;
86 | else
87 | {
88 | // Try top-right corner
89 | cornerPos = position + new Vector2( size.x + minDistanceToEdges, size.y + minDistanceToEdges );
90 | if( cornerPos.x <= canvasSize.x && cornerPos.y <= canvasSize.y )
91 | rectTransform.pivot = Vector2.zero;
92 | else
93 | {
94 | // Use top-left corner
95 | rectTransform.pivot = new Vector2( 1f, 0f );
96 | }
97 | }
98 | }
99 | }
100 | }
101 |
102 | internal void Hide()
103 | {
104 | gameObject.SetActive( false );
105 | }
106 |
107 | internal void RefreshSkin( UISkin skin )
108 | {
109 | rectTransform.GetComponent().color = skin.ContextMenuBackgroundColor;
110 |
111 | deselectAllButton.image.color = skin.ContextMenuBackgroundColor;
112 | selectAllButton.image.color = skin.ContextMenuBackgroundColor;
113 | createFolderButton.image.color = skin.ContextMenuBackgroundColor;
114 | deleteButton.image.color = skin.ContextMenuBackgroundColor;
115 | renameButton.image.color = skin.ContextMenuBackgroundColor;
116 |
117 | for( int i = 0; i < allButtonLayoutElements.Length; i++ )
118 | allButtonLayoutElements[i].preferredHeight = skin.RowHeight + 1;
119 |
120 | for( int i = 0; i < allButtonTexts.Length; i++ )
121 | skin.ApplyTo( allButtonTexts[i], skin.ContextMenuTextColor );
122 |
123 | for( int i = 0; i < allButtonSeparators.Length; i++ )
124 | allButtonSeparators[i].color = skin.ContextMenuSeparatorColor;
125 | }
126 |
127 | private void OnSelectAllButtonClicked()
128 | {
129 | Hide();
130 | fileBrowser.SelectAllFiles();
131 | }
132 |
133 | private void OnDeselectAllButtonClicked()
134 | {
135 | Hide();
136 | fileBrowser.DeselectAllFiles();
137 | }
138 |
139 | private void OnCreateFolderButtonClicked()
140 | {
141 | Hide();
142 | fileBrowser.CreateNewFolder();
143 | }
144 |
145 | private void OnDeleteButtonClicked()
146 | {
147 | Hide();
148 | fileBrowser.DeleteSelectedFiles();
149 | }
150 |
151 | private void OnRenameButtonClicked()
152 | {
153 | Hide();
154 | fileBrowser.RenameSelectedFile();
155 | }
156 | }
157 | }
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/FileBrowserContextMenu.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0d5261bc2717e6143961d30ccb76fb66
3 | timeCreated: 1603793977
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/FileBrowserCursorHandler.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.EventSystems;
3 |
4 | namespace SimpleFileBrowser
5 | {
6 | public class FileBrowserCursorHandler : MonoBehaviour
7 | #if UNITY_EDITOR || ( !UNITY_ANDROID && !UNITY_IOS )
8 | , IPointerEnterHandler, IPointerExitHandler, IBeginDragHandler, IEndDragHandler
9 | #endif
10 | {
11 | #if UNITY_EDITOR || ( !UNITY_ANDROID && !UNITY_IOS )
12 | #pragma warning disable 0649
13 | [SerializeField]
14 | private Texture2D resizeCursor;
15 | #pragma warning restore 0649
16 |
17 | private bool isHovering;
18 | private bool isResizing;
19 |
20 | void IPointerEnterHandler.OnPointerEnter( PointerEventData eventData )
21 | {
22 | isHovering = true;
23 |
24 | if( !eventData.dragging )
25 | ShowResizeCursor();
26 | }
27 |
28 | void IPointerExitHandler.OnPointerExit( PointerEventData eventData )
29 | {
30 | isHovering = false;
31 |
32 | if( !isResizing )
33 | ShowDefaultCursor();
34 | }
35 |
36 | void IBeginDragHandler.OnBeginDrag( PointerEventData eventData )
37 | {
38 | isResizing = true;
39 | ShowResizeCursor();
40 | }
41 |
42 | void IEndDragHandler.OnEndDrag( PointerEventData eventData )
43 | {
44 | isResizing = false;
45 |
46 | if( !isHovering )
47 | ShowDefaultCursor();
48 | }
49 |
50 | private void ShowDefaultCursor()
51 | {
52 | Cursor.SetCursor( null, Vector2.zero, CursorMode.Auto );
53 | }
54 |
55 | private void ShowResizeCursor()
56 | {
57 | Cursor.SetCursor( resizeCursor, new Vector2( resizeCursor.width * 0.5f, resizeCursor.height * 0.5f ), CursorMode.Auto );
58 | }
59 | #endif
60 | }
61 | }
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/FileBrowserCursorHandler.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 759524cf7ef37f244bb00cd9724f0349
3 | timeCreated: 1603745549
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/FileBrowserFileOperationConfirmationPanel.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using TMPro;
3 | using UnityEngine;
4 | using UnityEngine.UI;
5 | #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
6 | using UnityEngine.InputSystem;
7 | #endif
8 |
9 | namespace SimpleFileBrowser
10 | {
11 | public class FileBrowserFileOperationConfirmationPanel : MonoBehaviour
12 | {
13 | public enum OperationType { Delete = 0, Overwrite = 1 };
14 |
15 | public delegate void OnOperationConfirmed();
16 |
17 | #pragma warning disable 0649
18 | [SerializeField]
19 | private VerticalLayoutGroup contentLayoutGroup;
20 |
21 | [SerializeField]
22 | private TextMeshProUGUI[] titleLabels;
23 |
24 | [SerializeField]
25 | private GameObject[] targetItems;
26 |
27 | [SerializeField]
28 | private Image[] targetItemIcons;
29 |
30 | [SerializeField]
31 | private TextMeshProUGUI[] targetItemNames;
32 |
33 | [SerializeField]
34 | private GameObject targetItemsRest;
35 |
36 | [SerializeField]
37 | private TextMeshProUGUI targetItemsRestLabel;
38 |
39 | [SerializeField]
40 | private Button yesButton;
41 |
42 | [SerializeField]
43 | private Button noButton;
44 |
45 | [SerializeField]
46 | private float narrowScreenWidth = 380f;
47 | #pragma warning restore 0649
48 |
49 | private OnOperationConfirmed onOperationConfirmed;
50 |
51 | private void Awake()
52 | {
53 | yesButton.onClick.AddListener( OnYesButtonClicked );
54 | noButton.onClick.AddListener( OnNoButtonClicked );
55 | }
56 |
57 | internal void Show( FileBrowser fileBrowser, List items, OperationType operationType, OnOperationConfirmed onOperationConfirmed )
58 | {
59 | Show( fileBrowser, items, null, operationType, onOperationConfirmed );
60 | }
61 |
62 | internal void Show( FileBrowser fileBrowser, List items, List selectedItemIndices, OperationType operationType, OnOperationConfirmed onOperationConfirmed )
63 | {
64 | this.onOperationConfirmed = onOperationConfirmed;
65 |
66 | int itemCount = ( selectedItemIndices != null ) ? selectedItemIndices.Count : items.Count;
67 |
68 | for( int i = 0; i < titleLabels.Length; i++ )
69 | titleLabels[i].gameObject.SetActive( (int) operationType == i );
70 |
71 | for( int i = 0; i < targetItems.Length; i++ )
72 | targetItems[i].SetActive( i < itemCount );
73 |
74 | for( int i = 0; i < targetItems.Length && i < itemCount; i++ )
75 | {
76 | FileSystemEntry item = items[( selectedItemIndices != null ) ? selectedItemIndices[i] : i];
77 | targetItemIcons[i].sprite = fileBrowser.GetIconForFileEntry( item );
78 | targetItemNames[i].text = item.Name;
79 | }
80 |
81 | if( itemCount > targetItems.Length )
82 | {
83 | targetItemsRestLabel.text = string.Concat( "...and ", ( itemCount - targetItems.Length ).ToString(), " other" );
84 | targetItemsRest.SetActive( true );
85 | }
86 | else
87 | targetItemsRest.SetActive( false );
88 |
89 | gameObject.SetActive( true );
90 | }
91 |
92 | // Handles responsive user interface
93 | internal void OnCanvasDimensionsChanged( Vector2 size )
94 | {
95 | if( size.x >= narrowScreenWidth )
96 | {
97 | ( yesButton.transform as RectTransform ).anchorMin = new Vector2( 0.5f, 0f );
98 | ( yesButton.transform as RectTransform ).anchorMax = new Vector2( 0.75f, 1f );
99 | ( noButton.transform as RectTransform ).anchorMin = new Vector2( 0.75f, 0f );
100 | }
101 | else
102 | {
103 | ( yesButton.transform as RectTransform ).anchorMin = Vector2.zero;
104 | ( yesButton.transform as RectTransform ).anchorMax = new Vector2( 0.5f, 1f );
105 | ( noButton.transform as RectTransform ).anchorMin = new Vector2( 0.5f, 0f );
106 | }
107 | }
108 |
109 | #if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WSA || UNITY_WSA_10_0
110 | private void LateUpdate()
111 | {
112 | #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
113 | if( Keyboard.current != null )
114 | #endif
115 | {
116 | // Handle keyboard shortcuts
117 | #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
118 | if( Keyboard.current[Key.Enter].wasPressedThisFrame || Keyboard.current[Key.NumpadEnter].wasPressedThisFrame )
119 | #else
120 | if( Input.GetKeyDown( KeyCode.Return ) || Input.GetKeyDown( KeyCode.KeypadEnter ) )
121 | #endif
122 | OnYesButtonClicked();
123 |
124 | #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
125 | if( Keyboard.current[Key.Escape].wasPressedThisFrame )
126 | #else
127 | if( Input.GetKeyDown( KeyCode.Escape ) )
128 | #endif
129 | OnNoButtonClicked();
130 | }
131 | }
132 | #endif
133 |
134 | internal void RefreshSkin( UISkin skin )
135 | {
136 | contentLayoutGroup.spacing = skin.RowSpacing;
137 | contentLayoutGroup.padding.bottom = 22 + (int) ( skin.RowSpacing + skin.RowHeight );
138 |
139 | Image background = GetComponentInChildren();
140 | background.color = skin.PopupPanelsBackgroundColor;
141 | background.sprite = skin.PopupPanelsBackground;
142 |
143 | RectTransform buttonsParent = yesButton.transform.parent as RectTransform;
144 | buttonsParent.sizeDelta = new Vector2( buttonsParent.sizeDelta.x, skin.RowHeight );
145 |
146 | skin.ApplyTo( yesButton );
147 | skin.ApplyTo( noButton );
148 |
149 | for( int i = 0; i < titleLabels.Length; i++ )
150 | skin.ApplyTo( titleLabels[i], skin.PopupPanelsTextColor );
151 |
152 | skin.ApplyTo( targetItemsRestLabel, skin.PopupPanelsTextColor );
153 |
154 | for( int i = 0; i < targetItemNames.Length; i++ )
155 | skin.ApplyTo( targetItemNames[i], skin.PopupPanelsTextColor );
156 |
157 | for( int i = 0; i < targetItems.Length; i++ )
158 | targetItems[i].GetComponent().preferredHeight = skin.FileHeight;
159 | }
160 |
161 | private void OnYesButtonClicked()
162 | {
163 | gameObject.SetActive( false );
164 |
165 | if( onOperationConfirmed != null )
166 | onOperationConfirmed();
167 | }
168 |
169 | private void OnNoButtonClicked()
170 | {
171 | gameObject.SetActive( false );
172 | onOperationConfirmed = null;
173 | }
174 | }
175 | }
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/FileBrowserFileOperationConfirmationPanel.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 524a683efed82084b9a9c4a3eff23b73
3 | timeCreated: 1658958138
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/FileBrowserHelpers.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2370e7a82ec4087499ebf7efa149e9eb
3 | timeCreated: 1570919647
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/FileBrowserItem.cs:
--------------------------------------------------------------------------------
1 | using TMPro;
2 | using UnityEngine;
3 | using UnityEngine.EventSystems;
4 | using UnityEngine.UI;
5 |
6 | namespace SimpleFileBrowser
7 | {
8 | public class FileBrowserItem : ListItem, IPointerClickHandler, IPointerDownHandler, IPointerUpHandler
9 | #if UNITY_EDITOR || ( !UNITY_ANDROID && !UNITY_IOS )
10 | , IPointerEnterHandler, IPointerExitHandler
11 | #endif
12 | {
13 | #region Constants
14 | private const float DOUBLE_CLICK_TIME = 0.5f;
15 | private const float TOGGLE_MULTI_SELECTION_HOLD_TIME = 0.5f;
16 | #endregion
17 |
18 | #region Variables
19 | protected FileBrowser fileBrowser;
20 |
21 | #pragma warning disable 0649
22 | [SerializeField]
23 | private Image background;
24 |
25 | [SerializeField]
26 | private Image icon;
27 | public Image Icon { get { return icon; } }
28 |
29 | [SerializeField]
30 | private Image multiSelectionToggle;
31 |
32 | [SerializeField]
33 | private TextMeshProUGUI nameText;
34 | #pragma warning restore 0649
35 |
36 | #pragma warning disable 0414
37 | private bool isSelected, isHidden;
38 | #pragma warning restore 0414
39 |
40 | private UISkin skin;
41 |
42 | private float pressTime = Mathf.Infinity;
43 | private float prevClickTime;
44 | #endregion
45 |
46 | #region Properties
47 | private RectTransform m_transform;
48 | public RectTransform TransformComponent
49 | {
50 | get
51 | {
52 | if( m_transform == null )
53 | m_transform = (RectTransform) transform;
54 |
55 | return m_transform;
56 | }
57 | }
58 |
59 | public string Name { get { return nameText.text; } }
60 | public bool IsDirectory { get; private set; }
61 | #endregion
62 |
63 | #region Initialization Functions
64 | public void SetFileBrowser( FileBrowser fileBrowser, UISkin skin )
65 | {
66 | this.fileBrowser = fileBrowser;
67 | OnSkinRefreshed( skin, false );
68 | }
69 |
70 | public void SetFile( Sprite icon, string name, bool isDirectory )
71 | {
72 | this.icon.sprite = icon;
73 | nameText.text = name;
74 |
75 | IsDirectory = isDirectory;
76 | }
77 | #endregion
78 |
79 | #region Messages
80 | private void Update()
81 | {
82 | if( fileBrowser.AllowMultiSelection && Time.realtimeSinceStartup - pressTime >= TOGGLE_MULTI_SELECTION_HOLD_TIME )
83 | {
84 | // Item is held for a while
85 | pressTime = Mathf.Infinity;
86 | fileBrowser.OnItemHeld( this );
87 | }
88 | }
89 | #endregion
90 |
91 | #region Pointer Events
92 | public void OnPointerClick( PointerEventData eventData )
93 | {
94 | #if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBGL || UNITY_WSA || UNITY_WSA_10_0
95 | if( eventData.button == PointerEventData.InputButton.Middle )
96 | return;
97 | else if( eventData.button == PointerEventData.InputButton.Right )
98 | {
99 | // First, select the item
100 | if( !isSelected )
101 | {
102 | prevClickTime = 0f;
103 | fileBrowser.OnItemSelected( this, false );
104 | }
105 |
106 | // Then, show the context menu
107 | fileBrowser.OnContextMenuTriggered( eventData.position );
108 | return;
109 | }
110 | #endif
111 |
112 | if( Time.realtimeSinceStartup - prevClickTime < DOUBLE_CLICK_TIME )
113 | {
114 | prevClickTime = 0f;
115 | fileBrowser.OnItemSelected( this, true );
116 | }
117 | else
118 | {
119 | prevClickTime = Time.realtimeSinceStartup;
120 | fileBrowser.OnItemSelected( this, false );
121 | }
122 | }
123 |
124 | public void OnPointerDown( PointerEventData eventData )
125 | {
126 | #if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBGL || UNITY_WSA || UNITY_WSA_10_0
127 | if( eventData.button != PointerEventData.InputButton.Left )
128 | return;
129 | #endif
130 |
131 | pressTime = Time.realtimeSinceStartup;
132 | }
133 |
134 | public void OnPointerUp( PointerEventData eventData )
135 | {
136 | #if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBGL || UNITY_WSA || UNITY_WSA_10_0
137 | if( eventData.button != PointerEventData.InputButton.Left )
138 | return;
139 | #endif
140 |
141 | if( pressTime != Mathf.Infinity )
142 | pressTime = Mathf.Infinity;
143 | else if( fileBrowser.MultiSelectionToggleSelectionMode )
144 | {
145 | // We have activated MultiSelectionToggleSelectionMode with this press, processing the click would result in
146 | // deselecting this item since its selected state would be toggled
147 | eventData.eligibleForClick = false;
148 | }
149 | }
150 |
151 | #if UNITY_EDITOR || ( !UNITY_ANDROID && !UNITY_IOS )
152 | public void OnPointerEnter( PointerEventData eventData )
153 | {
154 | if( !isSelected )
155 | background.color = skin.FileHoveredBackgroundColor;
156 | }
157 | #endif
158 |
159 | #if UNITY_EDITOR || ( !UNITY_ANDROID && !UNITY_IOS )
160 | public void OnPointerExit( PointerEventData eventData )
161 | {
162 | if( !isSelected )
163 | background.color = ( Position % 2 ) == 0 ? skin.FileNormalBackgroundColor : skin.FileAlternatingBackgroundColor;
164 | }
165 | #endif
166 | #endregion
167 |
168 | #region Other Events
169 | public void SetSelected( bool isSelected )
170 | {
171 | this.isSelected = isSelected;
172 |
173 | background.color = isSelected ? skin.FileSelectedBackgroundColor : ( ( Position % 2 ) == 0 ? skin.FileNormalBackgroundColor : skin.FileAlternatingBackgroundColor );
174 | nameText.color = isSelected ? skin.FileSelectedTextColor : skin.FileNormalTextColor;
175 |
176 | if( isHidden )
177 | {
178 | Color c = nameText.color;
179 | c.a = 0.55f;
180 | nameText.color = c;
181 | }
182 |
183 | if( multiSelectionToggle ) // Quick links don't have multi-selection toggle
184 | {
185 | // Don't show multi-selection toggle for folders in file selection mode
186 | if( fileBrowser.MultiSelectionToggleSelectionMode && ( !IsDirectory || fileBrowser.PickerMode != FileBrowser.PickMode.Files ) )
187 | {
188 | if( !multiSelectionToggle.gameObject.activeSelf )
189 | {
190 | multiSelectionToggle.gameObject.SetActive( true );
191 |
192 | Vector2 shiftAmount = new Vector2( multiSelectionToggle.rectTransform.sizeDelta.x, 0f );
193 | icon.rectTransform.anchoredPosition += shiftAmount;
194 | nameText.rectTransform.anchoredPosition += shiftAmount;
195 | }
196 |
197 | multiSelectionToggle.sprite = isSelected ? skin.FileMultiSelectionToggleOnIcon : skin.FileMultiSelectionToggleOffIcon;
198 | }
199 | else if( multiSelectionToggle.gameObject.activeSelf )
200 | {
201 | multiSelectionToggle.gameObject.SetActive( false );
202 |
203 | Vector2 shiftAmount = new Vector2( -multiSelectionToggle.rectTransform.sizeDelta.x, 0f );
204 | icon.rectTransform.anchoredPosition += shiftAmount;
205 | nameText.rectTransform.anchoredPosition += shiftAmount;
206 |
207 | // Clicking a file shortly after disabling MultiSelectionToggleSelectionMode does nothing, this workaround fixes that issue
208 | prevClickTime = 0f;
209 | }
210 | }
211 | }
212 |
213 | public void SetHidden( bool isHidden )
214 | {
215 | this.isHidden = isHidden;
216 |
217 | Color c = icon.color;
218 | c.a = isHidden ? 0.5f : 1f;
219 | icon.color = c;
220 |
221 | c = nameText.color;
222 | c.a = isHidden ? 0.55f : ( isSelected ? skin.FileSelectedTextColor.a : skin.FileNormalTextColor.a );
223 | nameText.color = c;
224 | }
225 |
226 | public void OnSkinRefreshed( UISkin skin, bool isInitialized = true )
227 | {
228 | this.skin = skin;
229 |
230 | TransformComponent.sizeDelta = new Vector2( TransformComponent.sizeDelta.x, skin.FileHeight );
231 | skin.ApplyTo( nameText, isSelected ? skin.FileSelectedTextColor : skin.FileNormalTextColor );
232 | icon.rectTransform.sizeDelta = new Vector2( icon.rectTransform.sizeDelta.x, -skin.FileIconsPadding );
233 |
234 | if( isInitialized )
235 | SetSelected( isSelected );
236 | }
237 | #endregion
238 | }
239 | }
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/FileBrowserItem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b5f1b2825c50f7b4d9be146ab2137bff
3 | timeCreated: 1479417850
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/FileBrowserMovement.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.EventSystems;
3 |
4 | namespace SimpleFileBrowser
5 | {
6 | public class FileBrowserMovement : MonoBehaviour
7 | {
8 | #region Variables
9 | #pragma warning disable 0649
10 | private FileBrowser fileBrowser;
11 | private RectTransform canvasTR;
12 | private Camera canvasCam;
13 |
14 | [SerializeField]
15 | private RectTransform window;
16 |
17 | [SerializeField]
18 | private RecycledListView listView;
19 | #pragma warning restore 0649
20 |
21 | private Vector2 initialTouchPos = Vector2.zero;
22 | private Vector2 initialAnchoredPos, initialSizeDelta;
23 | #endregion
24 |
25 | #region Initialization Functions
26 | public void Initialize( FileBrowser fileBrowser )
27 | {
28 | this.fileBrowser = fileBrowser;
29 | canvasTR = fileBrowser.GetComponent();
30 | }
31 | #endregion
32 |
33 | #region Pointer Events
34 | public void OnDragStarted( BaseEventData data )
35 | {
36 | PointerEventData pointer = (PointerEventData) data;
37 |
38 | canvasCam = pointer.pressEventCamera;
39 | RectTransformUtility.ScreenPointToLocalPointInRectangle( window, pointer.pressPosition, canvasCam, out initialTouchPos );
40 | }
41 |
42 | public void OnDrag( BaseEventData data )
43 | {
44 | PointerEventData pointer = (PointerEventData) data;
45 |
46 | Vector2 touchPos;
47 | RectTransformUtility.ScreenPointToLocalPointInRectangle( window, pointer.position, canvasCam, out touchPos );
48 | window.anchoredPosition += touchPos - initialTouchPos;
49 | }
50 |
51 | public void OnEndDrag( BaseEventData data )
52 | {
53 | fileBrowser.EnsureWindowIsWithinBounds();
54 | }
55 |
56 | public void OnResizeStarted( BaseEventData data )
57 | {
58 | PointerEventData pointer = (PointerEventData) data;
59 |
60 | canvasCam = pointer.pressEventCamera;
61 | initialAnchoredPos = window.anchoredPosition;
62 | initialSizeDelta = window.sizeDelta;
63 | RectTransformUtility.ScreenPointToLocalPointInRectangle( canvasTR, pointer.pressPosition, canvasCam, out initialTouchPos );
64 | }
65 |
66 | public void OnResize( BaseEventData data )
67 | {
68 | PointerEventData pointer = (PointerEventData) data;
69 |
70 | Vector2 touchPos;
71 | RectTransformUtility.ScreenPointToLocalPointInRectangle( canvasTR, pointer.position, canvasCam, out touchPos );
72 |
73 | Vector2 delta = touchPos - initialTouchPos;
74 | Vector2 newSize = initialSizeDelta + new Vector2( delta.x, -delta.y );
75 | Vector2 canvasSize = canvasTR.sizeDelta;
76 |
77 | if( newSize.x < fileBrowser.minWidth ) newSize.x = fileBrowser.minWidth;
78 | if( newSize.y < fileBrowser.minHeight ) newSize.y = fileBrowser.minHeight;
79 |
80 | if( newSize.x > canvasSize.x ) newSize.x = canvasSize.x;
81 | if( newSize.y > canvasSize.y ) newSize.y = canvasSize.y;
82 |
83 | newSize.x = (int) newSize.x;
84 | newSize.y = (int) newSize.y;
85 |
86 | delta = newSize - initialSizeDelta;
87 |
88 | window.anchoredPosition = initialAnchoredPos + new Vector2( delta.x * 0.5f, delta.y * -0.5f );
89 |
90 | if( window.sizeDelta != newSize )
91 | {
92 | window.sizeDelta = newSize;
93 | fileBrowser.OnWindowDimensionsChanged( newSize );
94 | }
95 |
96 | listView.OnViewportDimensionsChanged();
97 | }
98 |
99 | public void OnEndResize( BaseEventData data )
100 | {
101 | fileBrowser.EnsureWindowIsWithinBounds();
102 | }
103 | #endregion
104 | }
105 | }
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/FileBrowserMovement.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 46d41d79fe7c3d44ca846b4f3d81a476
3 | timeCreated: 1479486534
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/FileBrowserQuickLink.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace SimpleFileBrowser
4 | {
5 | public class FileBrowserQuickLink : FileBrowserItem
6 | {
7 | #region Properties
8 | private string m_targetPath;
9 | public string TargetPath { get { return m_targetPath; } }
10 | #endregion
11 |
12 | #region Initialization Functions
13 | public void SetQuickLink( Sprite icon, string name, string targetPath )
14 | {
15 | SetFile( icon, name, true );
16 |
17 | m_targetPath = targetPath;
18 | }
19 | #endregion
20 | }
21 | }
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/FileBrowserQuickLink.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1f277f5418eabf94cad94208055878af
3 | timeCreated: 1479417850
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/FileBrowserRenamedItem.cs:
--------------------------------------------------------------------------------
1 | using TMPro;
2 | using UnityEngine;
3 | using UnityEngine.EventSystems;
4 | using UnityEngine.UI;
5 | #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
6 | using UnityEngine.InputSystem;
7 | #endif
8 |
9 | namespace SimpleFileBrowser
10 | {
11 | public class FileBrowserRenamedItem : MonoBehaviour
12 | {
13 | public delegate void OnRenameCompleted( string filename );
14 |
15 | #pragma warning disable 0649
16 | [SerializeField]
17 | private Image background;
18 |
19 | [SerializeField]
20 | private Image icon;
21 |
22 | [SerializeField]
23 | private TMP_InputField nameInputField;
24 | public TMP_InputField InputField { get { return nameInputField; } }
25 | #pragma warning restore 0649
26 |
27 | private OnRenameCompleted onRenameCompleted;
28 |
29 | private RectTransform m_transform;
30 | public RectTransform TransformComponent
31 | {
32 | get
33 | {
34 | if( m_transform == null )
35 | m_transform = (RectTransform) transform;
36 |
37 | return m_transform;
38 | }
39 | }
40 |
41 | private void Awake()
42 | {
43 | nameInputField.onEndEdit.AddListener( OnInputFieldEndEdit );
44 | }
45 |
46 | public void Show( string initialFilename, Color backgroundColor, Sprite icon, OnRenameCompleted onRenameCompleted )
47 | {
48 | background.color = backgroundColor;
49 | this.icon.sprite = icon;
50 | this.onRenameCompleted = onRenameCompleted;
51 |
52 | transform.SetAsLastSibling();
53 | gameObject.SetActive( true );
54 |
55 | nameInputField.text = initialFilename;
56 | nameInputField.ActivateInputField();
57 | }
58 |
59 | #if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WSA || UNITY_WSA_10_0
60 | private void LateUpdate()
61 | {
62 | // Don't allow scrolling with mouse wheel while renaming a file or creating a folder
63 | #if ENABLE_INPUT_SYSTEM && !ENABLE_LEGACY_INPUT_MANAGER
64 | if( Mouse.current != null && Mouse.current.scroll.ReadValue().y != 0f )
65 | #else
66 | if( Input.mouseScrollDelta.y != 0f )
67 | #endif
68 | nameInputField.DeactivateInputField();
69 | }
70 | #endif
71 |
72 | private void OnInputFieldEndEdit( string filename )
73 | {
74 | gameObject.SetActive( false );
75 |
76 | // If we don't deselect the InputField manually, FileBrowser's keyboard shortcuts
77 | // no longer work until user clicks on a UI element and thus, deselects the InputField
78 | if( EventSystem.current && !EventSystem.current.alreadySelecting && EventSystem.current.currentSelectedGameObject == nameInputField.gameObject )
79 | EventSystem.current.SetSelectedGameObject( null );
80 |
81 | if( onRenameCompleted != null )
82 | onRenameCompleted( filename );
83 | }
84 | }
85 | }
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/FileBrowserRenamedItem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c7397ff7ae1ba4c47b6dfd3c84936584
3 | timeCreated: 1603812277
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/NonDrawingGraphic.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.UI;
3 |
4 | namespace SimpleFileBrowser
5 | {
6 | // Credit: http://answers.unity.com/answers/1157876/view.html
7 | [RequireComponent( typeof( CanvasRenderer ) )]
8 | public class NonDrawingGraphic : Graphic
9 | {
10 | public override void SetMaterialDirty() { return; }
11 | public override void SetVerticesDirty() { return; }
12 |
13 | protected override void OnPopulateMesh( VertexHelper vh )
14 | {
15 | vh.Clear();
16 | return;
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/NonDrawingGraphic.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b4fd8cdb8c068dd4bb48c415877496ba
3 | timeCreated: 1603794018
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dec11495f4b8cef49b7a3b4b06f094c3
3 | folderAsset: yes
4 | timeCreated: 1485706514
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/IListViewAdapter.cs:
--------------------------------------------------------------------------------
1 | namespace SimpleFileBrowser
2 | {
3 | public delegate void OnItemClickedHandler( ListItem item );
4 |
5 | public interface IListViewAdapter
6 | {
7 | OnItemClickedHandler OnItemClicked { get; set; }
8 |
9 | int Count { get; }
10 | float ItemHeight { get; }
11 |
12 | ListItem CreateItem();
13 |
14 | void SetItemContent( ListItem item );
15 | }
16 | }
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/IListViewAdapter.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 08e51b912648ace4784ebe20fc6cc961
3 | timeCreated: 1485706575
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/ListItem.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace SimpleFileBrowser
4 | {
5 | [RequireComponent( typeof( RectTransform ) )]
6 | public class ListItem : MonoBehaviour
7 | {
8 | public object Tag { get; set; }
9 | public int Position { get; set; }
10 |
11 | private IListViewAdapter adapter;
12 |
13 | internal void SetAdapter( IListViewAdapter listView )
14 | {
15 | this.adapter = listView;
16 | }
17 |
18 | public void OnClick()
19 | {
20 | if( adapter.OnItemClicked != null )
21 | adapter.OnItemClicked( this );
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/ListItem.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9c3e7249b2cb96446a7ccfbed51aab81
3 | timeCreated: 1485706535
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/RecycledListView.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using UnityEngine;
3 | using UnityEngine.EventSystems;
4 | using UnityEngine.UI;
5 |
6 | namespace SimpleFileBrowser
7 | {
8 | [RequireComponent( typeof( ScrollRect ) )]
9 | public class RecycledListView : MonoBehaviour
10 | #if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WSA || UNITY_WSA_10_0
11 | , IPointerClickHandler
12 | #endif
13 | {
14 | #pragma warning disable 0649
15 | #if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WSA || UNITY_WSA_10_0
16 | [SerializeField]
17 | private FileBrowser fileBrowser;
18 | #endif
19 |
20 | // Cached components
21 | [SerializeField]
22 | private RectTransform viewportTransform;
23 | [SerializeField]
24 | private RectTransform contentTransform;
25 | #pragma warning restore 0649
26 |
27 | private float itemHeight, _1OverItemHeight;
28 | private float viewportHeight;
29 |
30 | private readonly Dictionary items = new Dictionary();
31 | private readonly Stack pooledItems = new Stack();
32 |
33 | IListViewAdapter adapter = null;
34 |
35 | // Current indices of items shown on screen
36 | private int currentTopIndex = -1, currentBottomIndex = -1;
37 |
38 | private void Start()
39 | {
40 | viewportHeight = viewportTransform.rect.height;
41 | GetComponent().onValueChanged.AddListener( ( pos ) => UpdateItemsInTheList() );
42 | }
43 |
44 | public void SetAdapter( IListViewAdapter adapter )
45 | {
46 | this.adapter = adapter;
47 |
48 | itemHeight = adapter.ItemHeight;
49 | _1OverItemHeight = 1f / itemHeight;
50 | }
51 |
52 | public void OnSkinRefreshed()
53 | {
54 | if( currentTopIndex >= 0 )
55 | {
56 | DestroyItemsBetweenIndices( currentTopIndex, currentBottomIndex );
57 | currentTopIndex = currentBottomIndex = -1;
58 | }
59 |
60 | itemHeight = adapter.ItemHeight;
61 | _1OverItemHeight = 1f / itemHeight;
62 |
63 | UpdateList();
64 | }
65 |
66 | // Update the list
67 | public void UpdateList()
68 | {
69 | float newHeight = Mathf.Max( 1f, adapter.Count * itemHeight );
70 | contentTransform.sizeDelta = new Vector2( 0f, newHeight );
71 | viewportHeight = viewportTransform.rect.height;
72 |
73 | UpdateItemsInTheList( true );
74 | }
75 |
76 | // Window is resized, update the list
77 | public void OnViewportDimensionsChanged()
78 | {
79 | viewportHeight = viewportTransform.rect.height;
80 | UpdateItemsInTheList();
81 | }
82 |
83 | // Calculate the indices of items to show
84 | private void UpdateItemsInTheList( bool updateAllVisibleItems = false )
85 | {
86 | // If there is at least one item to show
87 | if( adapter.Count > 0 )
88 | {
89 | float contentPos = contentTransform.anchoredPosition.y - 1f;
90 |
91 | int newTopIndex = (int) ( contentPos * _1OverItemHeight );
92 | int newBottomIndex = (int) ( ( contentPos + viewportHeight + 2f ) * _1OverItemHeight );
93 |
94 | if( newTopIndex < 0 )
95 | newTopIndex = 0;
96 |
97 | if( newBottomIndex > adapter.Count - 1 )
98 | newBottomIndex = adapter.Count - 1;
99 |
100 | if( currentTopIndex == -1 )
101 | {
102 | // There are no active items
103 |
104 | updateAllVisibleItems = true;
105 |
106 | currentTopIndex = newTopIndex;
107 | currentBottomIndex = newBottomIndex;
108 |
109 | CreateItemsBetweenIndices( newTopIndex, newBottomIndex );
110 | }
111 | else
112 | {
113 | // There are some active items
114 |
115 | if( newBottomIndex < currentTopIndex || newTopIndex > currentBottomIndex )
116 | {
117 | // If user scrolled a lot such that, none of the items are now within
118 | // the bounds of the scroll view, pool all the previous items and create
119 | // new items for the new list of visible entries
120 | updateAllVisibleItems = true;
121 |
122 | DestroyItemsBetweenIndices( currentTopIndex, currentBottomIndex );
123 | CreateItemsBetweenIndices( newTopIndex, newBottomIndex );
124 | }
125 | else
126 | {
127 | // User did not scroll a lot such that, some items are are still within
128 | // the bounds of the scroll view. Don't destroy them but update their content,
129 | // if necessary
130 | if( newTopIndex > currentTopIndex )
131 | {
132 | DestroyItemsBetweenIndices( currentTopIndex, newTopIndex - 1 );
133 | }
134 |
135 | if( newBottomIndex < currentBottomIndex )
136 | {
137 | DestroyItemsBetweenIndices( newBottomIndex + 1, currentBottomIndex );
138 | }
139 |
140 | if( newTopIndex < currentTopIndex )
141 | {
142 | CreateItemsBetweenIndices( newTopIndex, currentTopIndex - 1 );
143 |
144 | // If it is not necessary to update all the items,
145 | // then just update the newly created items. Otherwise,
146 | // wait for the major update
147 | if( !updateAllVisibleItems )
148 | {
149 | UpdateItemContentsBetweenIndices( newTopIndex, currentTopIndex - 1 );
150 | }
151 | }
152 |
153 | if( newBottomIndex > currentBottomIndex )
154 | {
155 | CreateItemsBetweenIndices( currentBottomIndex + 1, newBottomIndex );
156 |
157 | // If it is not necessary to update all the items,
158 | // then just update the newly created items. Otherwise,
159 | // wait for the major update
160 | if( !updateAllVisibleItems )
161 | {
162 | UpdateItemContentsBetweenIndices( currentBottomIndex + 1, newBottomIndex );
163 | }
164 | }
165 | }
166 |
167 | currentTopIndex = newTopIndex;
168 | currentBottomIndex = newBottomIndex;
169 | }
170 |
171 | if( updateAllVisibleItems )
172 | {
173 | // Update all the items
174 | UpdateItemContentsBetweenIndices( currentTopIndex, currentBottomIndex );
175 | }
176 | }
177 | else if( currentTopIndex != -1 )
178 | {
179 | // There is nothing to show but some items are still visible; pool them
180 | DestroyItemsBetweenIndices( currentTopIndex, currentBottomIndex );
181 |
182 | currentTopIndex = -1;
183 | }
184 | }
185 |
186 | private void CreateItemsBetweenIndices( int topIndex, int bottomIndex )
187 | {
188 | for( int i = topIndex; i <= bottomIndex; i++ )
189 | {
190 | CreateItemAtIndex( i );
191 | }
192 | }
193 |
194 | // Create (or unpool) an item
195 | private void CreateItemAtIndex( int index )
196 | {
197 | ListItem item;
198 | if( pooledItems.Count > 0 )
199 | {
200 | item = pooledItems.Pop();
201 | item.gameObject.SetActive( true );
202 | }
203 | else
204 | {
205 | item = adapter.CreateItem();
206 | item.SetAdapter( adapter );
207 | }
208 |
209 | // Reposition the item
210 | ( (RectTransform) item.transform ).anchoredPosition = new Vector2( 1f, -index * itemHeight );
211 |
212 | // To access this item easily in the future, add it to the dictionary
213 | items[index] = item;
214 | }
215 |
216 | private void DestroyItemsBetweenIndices( int topIndex, int bottomIndex )
217 | {
218 | for( int i = topIndex; i <= bottomIndex; i++ )
219 | {
220 | ListItem item = items[i];
221 |
222 | item.gameObject.SetActive( false );
223 | pooledItems.Push( item );
224 | }
225 |
226 | if( topIndex == currentTopIndex && bottomIndex == currentBottomIndex )
227 | items.Clear();
228 | else
229 | {
230 | for( int i = topIndex; i <= bottomIndex; i++ )
231 | items.Remove( i );
232 | }
233 | }
234 |
235 | private void UpdateItemContentsBetweenIndices( int topIndex, int bottomIndex )
236 | {
237 | for( int i = topIndex; i <= bottomIndex; i++ )
238 | {
239 | ListItem item = items[i];
240 |
241 | item.Position = i;
242 | adapter.SetItemContent( item );
243 | }
244 | }
245 |
246 | #if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WSA || UNITY_WSA_10_0
247 | // When free space inside ScrollRect is clicked:
248 | // Left click: deselect selected file(s)
249 | // Right click: show context menu
250 | public void OnPointerClick( PointerEventData eventData )
251 | {
252 | if( eventData.button == PointerEventData.InputButton.Left )
253 | fileBrowser.DeselectAllFiles();
254 | else if( eventData.button == PointerEventData.InputButton.Right )
255 | fileBrowser.OnContextMenuTriggered( eventData.position );
256 | }
257 | #endif
258 | }
259 | }
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/SimpleRecycledListView/RecycledListView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 87ad67b4806678e40a492e337338760b
3 | timeCreated: 1485620000
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Scripts/UISkin.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 66bc3ce4885990c40a88f80fe0ad0101
3 | timeCreated: 1634711050
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/SimpleFileBrowser.Runtime.asmdef:
--------------------------------------------------------------------------------
1 | {
2 | "name": "SimpleFileBrowser.Runtime",
3 | "references": [
4 | "Unity.InputSystem",
5 | "Unity.TextMeshPro"
6 | ],
7 | "includePlatforms": [],
8 | "excludePlatforms": [],
9 | "allowUnsafeCode": false,
10 | "autoReferenced": true,
11 | "overrideReferences": false,
12 | "precompiledReferences": [],
13 | "defineConstraints": [],
14 | "optionalUnityReferences": []
15 | }
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/SimpleFileBrowser.Runtime.asmdef.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c685d05731421f64287ad6d13be5af0e
3 | AssemblyDefinitionImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Skins.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7e6307005d898f2458a6b0a2ef136d0b
3 | folderAsset: yes
4 | timeCreated: 1634717866
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Skins/DarkSkin.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 66bc3ce4885990c40a88f80fe0ad0101, type: 3}
13 | m_Name: DarkSkin
14 | m_EditorClassIdentifier:
15 | m_font: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
16 | m_fontSize: 14
17 | m_rowHeight: 30
18 | m_rowSpacing: 8
19 | m_windowColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
20 | m_filesListColor: {r: 0.15686275, g: 0.15686275, b: 0.15686275, a: 1}
21 | m_filesVerticalSeparatorColor: {r: 0.334, g: 0.334, b: 0.334, a: 1}
22 | m_titleBackgroundColor: {r: 0.07058824, g: 0.07058824, b: 0.07058824, a: 1}
23 | m_titleTextColor: {r: 1, g: 1, b: 1, a: 0.87058824}
24 | m_windowResizeGizmoColor: {r: 1, g: 1, b: 1, a: 0.87058824}
25 | m_headerButtonsColor: {r: 1, g: 1, b: 1, a: 1}
26 | m_windowResizeGizmo: {fileID: 21300000, guid: 285f1e681b119ce48ae469448241360b,
27 | type: 3}
28 | m_headerBackButton: {fileID: 21300000, guid: 130f660889a70c947bff4c8ba8a2c73e, type: 3}
29 | m_headerForwardButton: {fileID: 21300000, guid: 130f660889a70c947bff4c8ba8a2c73e,
30 | type: 3}
31 | m_headerUpButton: {fileID: 21300000, guid: 130f660889a70c947bff4c8ba8a2c73e, type: 3}
32 | m_headerContextMenuButton: {fileID: 21300000, guid: 3eb0ab0fddc930a498bef8ce7e149ea0,
33 | type: 3}
34 | m_inputFieldNormalBackgroundColor: {r: 0.18039216, g: 0.18039216, b: 0.18039216,
35 | a: 1}
36 | m_inputFieldInvalidBackgroundColor: {r: 0.4392157, g: 0.12156863, b: 0.12156863,
37 | a: 1}
38 | m_inputFieldTextColor: {r: 1, g: 1, b: 1, a: 0.87058824}
39 | m_inputFieldPlaceholderTextColor: {r: 1, g: 1, b: 1, a: 0.6509804}
40 | m_inputFieldSelectedTextColor: {r: 0.13725491, g: 0.46666667, b: 0.69411767, a: 0.5019608}
41 | m_inputFieldCaretColor: {r: 1, g: 1, b: 1, a: 1}
42 | m_inputFieldBackground: {fileID: 21300000, guid: f668f62689b67d242ad33ff665594344,
43 | type: 3}
44 | m_buttonColor: {r: 0.18039216, g: 0.18039216, b: 0.18039216, a: 1}
45 | m_buttonTextColor: {r: 1, g: 1, b: 1, a: 0.87058824}
46 | m_buttonBackground: {fileID: 21300000, guid: 2c46fa192de46b04e8281f225bee0230, type: 3}
47 | m_dropdownColor: {r: 0.18039216, g: 0.18039216, b: 0.18039216, a: 1}
48 | m_dropdownTextColor: {r: 1, g: 1, b: 1, a: 0.87058824}
49 | m_dropdownArrowColor: {r: 1, g: 1, b: 1, a: 0.87058824}
50 | m_dropdownCheckmarkColor: {r: 1, g: 1, b: 1, a: 0.87058824}
51 | m_dropdownBackground: {fileID: 21300000, guid: 2c46fa192de46b04e8281f225bee0230,
52 | type: 3}
53 | m_dropdownArrow: {fileID: 21300000, guid: f73f38102c749484bbd884d4d8d87440, type: 3}
54 | m_dropdownCheckmark: {fileID: 21300000, guid: 4924b77159e651e4aaa9a22286725d94,
55 | type: 3}
56 | m_toggleColor: {r: 0.18039216, g: 0.18039216, b: 0.18039216, a: 1}
57 | m_toggleTextColor: {r: 1, g: 1, b: 1, a: 0.87058824}
58 | m_toggleCheckmarkColor: {r: 1, g: 1, b: 1, a: 0.87058824}
59 | m_toggleBackground: {fileID: 21300000, guid: f668f62689b67d242ad33ff665594344, type: 3}
60 | m_toggleCheckmark: {fileID: 21300000, guid: 4924b77159e651e4aaa9a22286725d94, type: 3}
61 | m_scrollbarBackgroundColor: {r: 0.07058824, g: 0.07058824, b: 0.07058824, a: 1}
62 | m_scrollbarColor: {r: 0.26666668, g: 0.26666668, b: 0.26666668, a: 1}
63 | m_fileHeight: 30
64 | m_fileIconsPadding: 6
65 | m_fileNormalBackgroundColor: {r: 1, g: 1, b: 1, a: 0}
66 | m_fileAlternatingBackgroundColor: {r: 1, g: 1, b: 1, a: 0.043137256}
67 | m_fileHoveredBackgroundColor: {r: 0.88235295, g: 0.88235295, b: 1, a: 0.2}
68 | m_fileSelectedBackgroundColor: {r: 0, g: 0.34117648, b: 0.5803922, a: 1}
69 | m_fileNormalTextColor: {r: 1, g: 1, b: 1, a: 0.87058824}
70 | m_fileSelectedTextColor: {r: 1, g: 1, b: 1, a: 0.87058824}
71 | m_folderIcon: {fileID: 21300000, guid: 27947666271b231439b4409a81cb5d59, type: 3}
72 | m_driveIcon: {fileID: 21300000, guid: 81da6e5b6342f8f47a5a3a24221306c6, type: 3}
73 | m_defaultFileIcon: {fileID: 21300000, guid: 89f87b95a0cf73b4484ab74fe3f9ea26, type: 3}
74 | m_filetypeIcons:
75 | - extension: .txt
76 | icon: {fileID: 21300000, guid: d06b8cf70dff2fe418249a6276f9ff70, type: 3}
77 | - extension: .doc
78 | icon: {fileID: 21300000, guid: d06b8cf70dff2fe418249a6276f9ff70, type: 3}
79 | - extension: .docx
80 | icon: {fileID: 21300000, guid: d06b8cf70dff2fe418249a6276f9ff70, type: 3}
81 | - extension: .xml
82 | icon: {fileID: 21300000, guid: d06b8cf70dff2fe418249a6276f9ff70, type: 3}
83 | - extension: .json
84 | icon: {fileID: 21300000, guid: d06b8cf70dff2fe418249a6276f9ff70, type: 3}
85 | - extension: .rtf
86 | icon: {fileID: 21300000, guid: d06b8cf70dff2fe418249a6276f9ff70, type: 3}
87 | - extension: .pdf
88 | icon: {fileID: 21300000, guid: ac5741fcd06d2ce45b9ae2ce9df3c4a1, type: 3}
89 | - extension: .jpg
90 | icon: {fileID: 21300000, guid: 93482309cf79cef4a9ed8464c560334b, type: 3}
91 | - extension: .jpeg
92 | icon: {fileID: 21300000, guid: 93482309cf79cef4a9ed8464c560334b, type: 3}
93 | - extension: .png
94 | icon: {fileID: 21300000, guid: 93482309cf79cef4a9ed8464c560334b, type: 3}
95 | - extension: .gif
96 | icon: {fileID: 21300000, guid: 93482309cf79cef4a9ed8464c560334b, type: 3}
97 | - extension: .bmp
98 | icon: {fileID: 21300000, guid: 93482309cf79cef4a9ed8464c560334b, type: 3}
99 | - extension: .psd
100 | icon: {fileID: 21300000, guid: 93482309cf79cef4a9ed8464c560334b, type: 3}
101 | - extension: .tif
102 | icon: {fileID: 21300000, guid: 93482309cf79cef4a9ed8464c560334b, type: 3}
103 | - extension: .tiff
104 | icon: {fileID: 21300000, guid: 93482309cf79cef4a9ed8464c560334b, type: 3}
105 | - extension: .mp4
106 | icon: {fileID: 21300000, guid: 53a62df1d392a10498ec79719f8eef1f, type: 3}
107 | - extension: .mkv
108 | icon: {fileID: 21300000, guid: 53a62df1d392a10498ec79719f8eef1f, type: 3}
109 | - extension: .mov
110 | icon: {fileID: 21300000, guid: 53a62df1d392a10498ec79719f8eef1f, type: 3}
111 | - extension: .avi
112 | icon: {fileID: 21300000, guid: 53a62df1d392a10498ec79719f8eef1f, type: 3}
113 | - extension: .flv
114 | icon: {fileID: 21300000, guid: 53a62df1d392a10498ec79719f8eef1f, type: 3}
115 | - extension: .webm
116 | icon: {fileID: 21300000, guid: 53a62df1d392a10498ec79719f8eef1f, type: 3}
117 | - extension: .wmv
118 | icon: {fileID: 21300000, guid: 53a62df1d392a10498ec79719f8eef1f, type: 3}
119 | - extension: .mp3
120 | icon: {fileID: 21300000, guid: 293ea6a99c4ba134cae49556942ee0ff, type: 3}
121 | - extension: .wav
122 | icon: {fileID: 21300000, guid: 293ea6a99c4ba134cae49556942ee0ff, type: 3}
123 | - extension: .aac
124 | icon: {fileID: 21300000, guid: 293ea6a99c4ba134cae49556942ee0ff, type: 3}
125 | - extension: .m4a
126 | icon: {fileID: 21300000, guid: 293ea6a99c4ba134cae49556942ee0ff, type: 3}
127 | - extension: .ogg
128 | icon: {fileID: 21300000, guid: 293ea6a99c4ba134cae49556942ee0ff, type: 3}
129 | - extension: .wma
130 | icon: {fileID: 21300000, guid: 293ea6a99c4ba134cae49556942ee0ff, type: 3}
131 | - extension: .flac
132 | icon: {fileID: 21300000, guid: 293ea6a99c4ba134cae49556942ee0ff, type: 3}
133 | - extension: .zip
134 | icon: {fileID: 21300000, guid: 3b2a773e413d3e84f8c7c757734af584, type: 3}
135 | - extension: .rar
136 | icon: {fileID: 21300000, guid: 3b2a773e413d3e84f8c7c757734af584, type: 3}
137 | - extension: .7z
138 | icon: {fileID: 21300000, guid: 3b2a773e413d3e84f8c7c757734af584, type: 3}
139 | - extension: .gz
140 | icon: {fileID: 21300000, guid: 3b2a773e413d3e84f8c7c757734af584, type: 3}
141 | - extension: .exe
142 | icon: {fileID: 21300000, guid: c1e1f7ef76f59f54bbde5162f2709794, type: 3}
143 | m_fileMultiSelectionToggleOffIcon: {fileID: 21300000, guid: d6beaeac8de2af749a48581db778df3e,
144 | type: 3}
145 | m_fileMultiSelectionToggleOnIcon: {fileID: 21300000, guid: 30a2566f94f937b4998542121050e68b,
146 | type: 3}
147 | m_contextMenuBackgroundColor: {r: 0.11372549, g: 0.11372549, b: 0.11372549, a: 1}
148 | m_contextMenuTextColor: {r: 1, g: 1, b: 1, a: 0.87058824}
149 | m_contextMenuSeparatorColor: {r: 0.6392157, g: 0.6392157, b: 0.6392157, a: 1}
150 | m_popupPanelsBackgroundColor: {r: 0.18039216, g: 0.18039216, b: 0.18039216, a: 1}
151 | m_popupPanelsTextColor: {r: 1, g: 1, b: 1, a: 0.87058824}
152 | m_popupPanelsBackground: {fileID: 21300000, guid: b9c5fedc997f125448c4d8be2fc43bcd,
153 | type: 3}
154 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Skins/DarkSkin.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 07c1616acb3e05d4789781b38d6ab800
3 | timeCreated: 1634717905
4 | licenseType: Free
5 | NativeFormatImporter:
6 | mainObjectFileID: 11400000
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Skins/LightSkin.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: 66bc3ce4885990c40a88f80fe0ad0101, type: 3}
13 | m_Name: LightSkin
14 | m_EditorClassIdentifier:
15 | m_font: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
16 | m_fontSize: 14
17 | m_rowHeight: 30
18 | m_rowSpacing: 8
19 | m_windowColor: {r: 0.9338235, g: 0.9338235, b: 0.9338235, a: 1}
20 | m_filesListColor: {r: 1, g: 1, b: 1, a: 1}
21 | m_filesVerticalSeparatorColor: {r: 0.6397059, g: 0.6397059, b: 0.6397059, a: 1}
22 | m_titleBackgroundColor: {r: 0.30882353, g: 0.30882353, b: 0.30882353, a: 1}
23 | m_titleTextColor: {r: 1, g: 1, b: 1, a: 1}
24 | m_windowResizeGizmoColor: {r: 0.5294118, g: 0.5294118, b: 0.5294118, a: 1}
25 | m_headerButtonsColor: {r: 1, g: 1, b: 1, a: 1}
26 | m_windowResizeGizmo: {fileID: 21300000, guid: 285f1e681b119ce48ae469448241360b,
27 | type: 3}
28 | m_headerBackButton: {fileID: 21300000, guid: 130f660889a70c947bff4c8ba8a2c73e, type: 3}
29 | m_headerForwardButton: {fileID: 21300000, guid: 130f660889a70c947bff4c8ba8a2c73e,
30 | type: 3}
31 | m_headerUpButton: {fileID: 21300000, guid: 130f660889a70c947bff4c8ba8a2c73e, type: 3}
32 | m_headerContextMenuButton: {fileID: 21300000, guid: 3eb0ab0fddc930a498bef8ce7e149ea0,
33 | type: 3}
34 | m_inputFieldNormalBackgroundColor: {r: 1, g: 1, b: 1, a: 1}
35 | m_inputFieldInvalidBackgroundColor: {r: 1, g: 0.39215687, b: 0.39215687, a: 1}
36 | m_inputFieldTextColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
37 | m_inputFieldPlaceholderTextColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843,
38 | a: 0.5}
39 | m_inputFieldSelectedTextColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
40 | m_inputFieldCaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
41 | m_inputFieldBackground: {fileID: 21300000, guid: f668f62689b67d242ad33ff665594344,
42 | type: 3}
43 | m_buttonColor: {r: 1, g: 1, b: 1, a: 1}
44 | m_buttonTextColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
45 | m_buttonBackground: {fileID: 21300000, guid: 2c46fa192de46b04e8281f225bee0230, type: 3}
46 | m_dropdownColor: {r: 1, g: 1, b: 1, a: 1}
47 | m_dropdownTextColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
48 | m_dropdownArrowColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
49 | m_dropdownCheckmarkColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
50 | m_dropdownBackground: {fileID: 21300000, guid: 2c46fa192de46b04e8281f225bee0230,
51 | type: 3}
52 | m_dropdownArrow: {fileID: 21300000, guid: f73f38102c749484bbd884d4d8d87440, type: 3}
53 | m_dropdownCheckmark: {fileID: 21300000, guid: 4924b77159e651e4aaa9a22286725d94,
54 | type: 3}
55 | m_toggleColor: {r: 1, g: 1, b: 1, a: 1}
56 | m_toggleTextColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
57 | m_toggleCheckmarkColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
58 | m_toggleBackground: {fileID: 21300000, guid: f668f62689b67d242ad33ff665594344, type: 3}
59 | m_toggleCheckmark: {fileID: 21300000, guid: 4924b77159e651e4aaa9a22286725d94, type: 3}
60 | m_scrollbarBackgroundColor: {r: 0.9191176, g: 0.9191176, b: 0.9191176, a: 1}
61 | m_scrollbarColor: {r: 0.7647059, g: 0.7647059, b: 0.7647059, a: 1}
62 | m_fileHeight: 30
63 | m_fileIconsPadding: 6
64 | m_fileNormalBackgroundColor: {r: 1, g: 1, b: 1, a: 0}
65 | m_fileAlternatingBackgroundColor: {r: 1, g: 1, b: 1, a: 0}
66 | m_fileHoveredBackgroundColor: {r: 0.8980392, g: 0.9529412, b: 1, a: 1}
67 | m_fileSelectedBackgroundColor: {r: 0.7058824, g: 0.8666667, b: 1, a: 1}
68 | m_fileNormalTextColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
69 | m_fileSelectedTextColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
70 | m_folderIcon: {fileID: 21300000, guid: 27947666271b231439b4409a81cb5d59, type: 3}
71 | m_driveIcon: {fileID: 21300000, guid: 81da6e5b6342f8f47a5a3a24221306c6, type: 3}
72 | m_defaultFileIcon: {fileID: 21300000, guid: 89f87b95a0cf73b4484ab74fe3f9ea26, type: 3}
73 | m_filetypeIcons:
74 | - extension: .txt
75 | icon: {fileID: 21300000, guid: d06b8cf70dff2fe418249a6276f9ff70, type: 3}
76 | - extension: .doc
77 | icon: {fileID: 21300000, guid: d06b8cf70dff2fe418249a6276f9ff70, type: 3}
78 | - extension: .docx
79 | icon: {fileID: 21300000, guid: d06b8cf70dff2fe418249a6276f9ff70, type: 3}
80 | - extension: .xml
81 | icon: {fileID: 21300000, guid: d06b8cf70dff2fe418249a6276f9ff70, type: 3}
82 | - extension: .json
83 | icon: {fileID: 21300000, guid: d06b8cf70dff2fe418249a6276f9ff70, type: 3}
84 | - extension: .rtf
85 | icon: {fileID: 21300000, guid: d06b8cf70dff2fe418249a6276f9ff70, type: 3}
86 | - extension: .pdf
87 | icon: {fileID: 21300000, guid: ac5741fcd06d2ce45b9ae2ce9df3c4a1, type: 3}
88 | - extension: .jpg
89 | icon: {fileID: 21300000, guid: 93482309cf79cef4a9ed8464c560334b, type: 3}
90 | - extension: .jpeg
91 | icon: {fileID: 21300000, guid: 93482309cf79cef4a9ed8464c560334b, type: 3}
92 | - extension: .png
93 | icon: {fileID: 21300000, guid: 93482309cf79cef4a9ed8464c560334b, type: 3}
94 | - extension: .gif
95 | icon: {fileID: 21300000, guid: 93482309cf79cef4a9ed8464c560334b, type: 3}
96 | - extension: .bmp
97 | icon: {fileID: 21300000, guid: 93482309cf79cef4a9ed8464c560334b, type: 3}
98 | - extension: .psd
99 | icon: {fileID: 21300000, guid: 93482309cf79cef4a9ed8464c560334b, type: 3}
100 | - extension: .tif
101 | icon: {fileID: 21300000, guid: 93482309cf79cef4a9ed8464c560334b, type: 3}
102 | - extension: .tiff
103 | icon: {fileID: 21300000, guid: 93482309cf79cef4a9ed8464c560334b, type: 3}
104 | - extension: .mp4
105 | icon: {fileID: 21300000, guid: 53a62df1d392a10498ec79719f8eef1f, type: 3}
106 | - extension: .mkv
107 | icon: {fileID: 21300000, guid: 53a62df1d392a10498ec79719f8eef1f, type: 3}
108 | - extension: .mov
109 | icon: {fileID: 21300000, guid: 53a62df1d392a10498ec79719f8eef1f, type: 3}
110 | - extension: .avi
111 | icon: {fileID: 21300000, guid: 53a62df1d392a10498ec79719f8eef1f, type: 3}
112 | - extension: .flv
113 | icon: {fileID: 21300000, guid: 53a62df1d392a10498ec79719f8eef1f, type: 3}
114 | - extension: .webm
115 | icon: {fileID: 21300000, guid: 53a62df1d392a10498ec79719f8eef1f, type: 3}
116 | - extension: .wmv
117 | icon: {fileID: 21300000, guid: 53a62df1d392a10498ec79719f8eef1f, type: 3}
118 | - extension: .mp3
119 | icon: {fileID: 21300000, guid: 293ea6a99c4ba134cae49556942ee0ff, type: 3}
120 | - extension: .wav
121 | icon: {fileID: 21300000, guid: 293ea6a99c4ba134cae49556942ee0ff, type: 3}
122 | - extension: .aac
123 | icon: {fileID: 21300000, guid: 293ea6a99c4ba134cae49556942ee0ff, type: 3}
124 | - extension: .m4a
125 | icon: {fileID: 21300000, guid: 293ea6a99c4ba134cae49556942ee0ff, type: 3}
126 | - extension: .ogg
127 | icon: {fileID: 21300000, guid: 293ea6a99c4ba134cae49556942ee0ff, type: 3}
128 | - extension: .wma
129 | icon: {fileID: 21300000, guid: 293ea6a99c4ba134cae49556942ee0ff, type: 3}
130 | - extension: .flac
131 | icon: {fileID: 21300000, guid: 293ea6a99c4ba134cae49556942ee0ff, type: 3}
132 | - extension: .zip
133 | icon: {fileID: 21300000, guid: 3b2a773e413d3e84f8c7c757734af584, type: 3}
134 | - extension: .rar
135 | icon: {fileID: 21300000, guid: 3b2a773e413d3e84f8c7c757734af584, type: 3}
136 | - extension: .7z
137 | icon: {fileID: 21300000, guid: 3b2a773e413d3e84f8c7c757734af584, type: 3}
138 | - extension: .gz
139 | icon: {fileID: 21300000, guid: 3b2a773e413d3e84f8c7c757734af584, type: 3}
140 | - extension: .exe
141 | icon: {fileID: 21300000, guid: c1e1f7ef76f59f54bbde5162f2709794, type: 3}
142 | m_fileMultiSelectionToggleOffIcon: {fileID: 21300000, guid: d6beaeac8de2af749a48581db778df3e,
143 | type: 3}
144 | m_fileMultiSelectionToggleOnIcon: {fileID: 21300000, guid: 30a2566f94f937b4998542121050e68b,
145 | type: 3}
146 | m_contextMenuBackgroundColor: {r: 0.955, g: 0.955, b: 0.955, a: 1}
147 | m_contextMenuTextColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
148 | m_contextMenuSeparatorColor: {r: 0.6397059, g: 0.6397059, b: 0.6397059, a: 1}
149 | m_popupPanelsBackgroundColor: {r: 0.955, g: 0.955, b: 0.955, a: 1}
150 | m_popupPanelsTextColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
151 | m_popupPanelsBackground: {fileID: 21300000, guid: b9c5fedc997f125448c4d8be2fc43bcd,
152 | type: 3}
153 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Skins/LightSkin.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 758becaa4751c514ab3abd821b4078bb
3 | timeCreated: 1634717905
4 | licenseType: Free
5 | NativeFormatImporter:
6 | mainObjectFileID: 11400000
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 651607359bdd10946a8eafc45e7d1445
3 | folderAsset: yes
4 | timeCreated: 1479476379
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/Checkmark.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/Checkmark.psd
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/Checkmark.psd.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4924b77159e651e4aaa9a22286725d94
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 5
33 | maxTextureSize: 32
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 32
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 0
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 32
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 0
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 32
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 0
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 1
120 | pSDShowRemoveMatteOption: 1
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/DropdownArrow.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/DropdownArrow.psd
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/DropdownArrow.psd.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f73f38102c749484bbd884d4d8d87440
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 5
33 | maxTextureSize: 32
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 32
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 0
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 32
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 0
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 32
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 0
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 1
120 | pSDShowRemoveMatteOption: 1
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/ErrorIcon.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/ErrorIcon.psd
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/ErrorIcon.psd.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 01b10cc2da49f7442ba6525072e1f86a
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: -3
33 | maxTextureSize: 64
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 64
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 1
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 64
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 1
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 64
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 1
104 | - serializedVersion: 3
105 | buildTarget: Windows Store Apps
106 | maxTextureSize: 64
107 | resizeAlgorithm: 0
108 | textureFormat: -1
109 | textureCompression: 0
110 | compressionQuality: 50
111 | crunchedCompression: 0
112 | allowsAlphaSplitting: 0
113 | overridden: 0
114 | androidETC2FallbackOverride: 0
115 | forceMaximumCompressionQuality_BC6H_BC7: 1
116 | spriteSheet:
117 | serializedVersion: 2
118 | sprites: []
119 | outline: []
120 | physicsShape: []
121 | bones: []
122 | spriteID: 5e97eb03825dee720800000000000000
123 | internalID: 0
124 | vertices: []
125 | indices:
126 | edges: []
127 | weights: []
128 | secondaryTextures: []
129 | nameFileIdTable: {}
130 | spritePackingTag: SimpleFileBrowserUI
131 | pSDRemoveMatte: 1
132 | pSDShowRemoveMatteOption: 1
133 | userData:
134 | assetBundleName:
135 | assetBundleVariant:
136 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a1b4f73b07909c94393f4feccb24fec5
3 | folderAsset: yes
4 | timeCreated: 1634649107
5 | licenseType: Free
6 | DefaultImporter:
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/ArchiveIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/FileIcons/ArchiveIcon.png
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/ArchiveIcon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3b2a773e413d3e84f8c7c757734af584
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 1
33 | maxTextureSize: 2048
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 64
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 1
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 64
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 1
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 64
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 1
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 0
120 | pSDShowRemoveMatteOption: 0
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/AudioFileIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/FileIcons/AudioFileIcon.png
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/AudioFileIcon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 293ea6a99c4ba134cae49556942ee0ff
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 1
33 | maxTextureSize: 2048
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 64
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 1
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 64
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 1
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 64
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 1
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 0
120 | pSDShowRemoveMatteOption: 0
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/DefaultFileIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/FileIcons/DefaultFileIcon.png
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/DefaultFileIcon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 89f87b95a0cf73b4484ab74fe3f9ea26
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 1
33 | maxTextureSize: 2048
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 64
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 1
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 64
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 1
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 64
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 1
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 0
120 | pSDShowRemoveMatteOption: 0
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/DriveIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/FileIcons/DriveIcon.png
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/DriveIcon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 81da6e5b6342f8f47a5a3a24221306c6
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 1
33 | maxTextureSize: 2048
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 64
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 1
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 64
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 1
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 64
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 1
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 0
120 | pSDShowRemoveMatteOption: 0
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/ExecutableIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/FileIcons/ExecutableIcon.png
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/ExecutableIcon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c1e1f7ef76f59f54bbde5162f2709794
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 1
33 | maxTextureSize: 2048
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 64
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 1
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 64
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 1
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 64
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 1
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 0
120 | pSDShowRemoveMatteOption: 0
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/FolderIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/FileIcons/FolderIcon.png
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/FolderIcon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 27947666271b231439b4409a81cb5d59
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 1
33 | maxTextureSize: 2048
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 64
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 1
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 64
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 1
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 64
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 1
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 0
120 | pSDShowRemoveMatteOption: 0
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/ImageFileIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/FileIcons/ImageFileIcon.png
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/ImageFileIcon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 93482309cf79cef4a9ed8464c560334b
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 1
33 | maxTextureSize: 2048
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 64
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 1
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 64
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 1
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 64
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 1
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 0
120 | pSDShowRemoveMatteOption: 0
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/LICENSE.txt:
--------------------------------------------------------------------------------
1 | The following sprites are taken from external sources and licensed under the CC0 License:
2 |
3 | - ArchiveIcon: https://www.pngrepo.com/svg/227623/zip
4 | - AudioFileIcon: https://www.pngrepo.com/svg/293355/music
5 | - DefaultFileIcon: https://www.pngrepo.com/svg/200084/file-sheet
6 | - DriveIcon: https://www.pngrepo.com/svg/152885/hard-drive-device
7 | - ExecutableIcon: Created from scratch
8 | - FolderIcon: https://www.pngrepo.com/svg/229838/folder
9 | - ImageFileIcon: https://www.pngrepo.com/svg/231128/picture-image
10 | - PdfFileIcon: https://www.pngrepo.com/svg/28209/pdf
11 | - TextFileIcon: https://www.pngrepo.com/svg/241790/file-document
12 | - VideoFileIcon: https://www.pngrepo.com/svg/79032/play-video
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/LICENSE.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 99791c82b2c040241ae29b4408c8e02f
3 | timeCreated: 1563308858
4 | licenseType: Free
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/PdfFileIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/FileIcons/PdfFileIcon.png
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/PdfFileIcon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ac5741fcd06d2ce45b9ae2ce9df3c4a1
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 1
33 | maxTextureSize: 2048
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 64
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 1
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 64
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 1
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 64
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 1
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 0
120 | pSDShowRemoveMatteOption: 0
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/TextFileIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/FileIcons/TextFileIcon.png
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/TextFileIcon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d06b8cf70dff2fe418249a6276f9ff70
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 1
33 | maxTextureSize: 2048
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 64
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 1
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 64
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 1
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 64
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 1
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 0
120 | pSDShowRemoveMatteOption: 0
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/VideoFileIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/FileIcons/VideoFileIcon.png
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/FileIcons/VideoFileIcon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 53a62df1d392a10498ec79719f8eef1f
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 1
33 | maxTextureSize: 2048
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 64
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 1
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 64
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 1
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 64
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 1
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 0
120 | pSDShowRemoveMatteOption: 0
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/ForwardArrow.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/ForwardArrow.psd
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/ForwardArrow.psd.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 130f660889a70c947bff4c8ba8a2c73e
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 5
33 | maxTextureSize: 32
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 32
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 0
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 32
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 0
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 32
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 0
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 1
120 | pSDShowRemoveMatteOption: 1
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOff.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOff.psd
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOff.psd.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d6beaeac8de2af749a48581db778df3e
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 5
33 | maxTextureSize: 32
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 32
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 1
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 32
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 1
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 32
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 1
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 1
120 | pSDShowRemoveMatteOption: 1
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOn.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOn.psd
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/MultiSelectionToggleOn.psd.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 30a2566f94f937b4998542121050e68b
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 5
33 | maxTextureSize: 32
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 32
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 1
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 32
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 1
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 32
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 1
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 1
120 | pSDShowRemoveMatteOption: 1
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/ResizeCursor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/ResizeCursor.png
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/ResizeCursor.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5edcf29b853ebee47bf2c39ef6b99934
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 1
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 1
33 | maxTextureSize: 2048
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 1
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 0
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 0
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 7
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 0
66 | cookieLightType: 0
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 2048
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 0
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 2048
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 1
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 0
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 2048
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 1
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 0
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID:
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag:
119 | pSDRemoveMatte: 0
120 | pSDShowRemoveMatteOption: 0
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserDrag.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserDrag.psd
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserDrag.psd.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 285f1e681b119ce48ae469448241360b
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 5
33 | maxTextureSize: 32
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 32
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 0
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 32
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 0
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 32
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 0
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 1
120 | pSDShowRemoveMatteOption: 1
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserMoreOptions.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserMoreOptions.psd
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserMoreOptions.psd.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3eb0ab0fddc930a498bef8ce7e149ea0
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 5
33 | maxTextureSize: 32
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 32
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 0
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 32
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 0
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 32
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 0
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 1
120 | pSDShowRemoveMatteOption: 1
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground1.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground1.psd
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground1.psd.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f668f62689b67d242ad33ff665594344
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 5
33 | maxTextureSize: 32
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 5, y: 5, z: 5, w: 5}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 32
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 0
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 32
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 0
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 32
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 0
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 1
120 | pSDShowRemoveMatteOption: 1
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground2.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground2.psd
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground2.psd.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6ff773ea42aedd04c8bb96a1fe9a73b8
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 5
33 | maxTextureSize: 32
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 5, y: 5, z: 5, w: 5}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 32
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 0
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 32
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 0
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 32
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 0
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 1
120 | pSDShowRemoveMatteOption: 1
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground3.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground3.psd
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground3.psd.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b9c5fedc997f125448c4d8be2fc43bcd
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 5
33 | maxTextureSize: 32
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 5, y: 5, z: 5, w: 5}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 32
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 0
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 32
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 0
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 32
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 0
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 1
120 | pSDShowRemoveMatteOption: 1
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground4.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground4.psd
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground4.psd.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 90bee1ddeeef38a4f860f96b5510c136
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 5
33 | maxTextureSize: 32
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 5, y: 5, z: 5, w: 5}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 32
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 0
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 32
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 0
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 32
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 0
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 1
120 | pSDShowRemoveMatteOption: 1
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground5.psd:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/yasirkula/UnitySimpleFileBrowser/bce53b258059a5e6563e0be233f804a4f189649e/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground5.psd
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSlicedBackground5.psd.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2c46fa192de46b04e8281f225bee0230
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 12
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 5
33 | maxTextureSize: 32
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 16
38 | mipBias: 0
39 | wrapU: 1
40 | wrapV: 1
41 | wrapW: 1
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 5, y: 5, z: 5, w: 6}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 1
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 1
66 | cookieLightType: 1
67 | platformSettings:
68 | - serializedVersion: 3
69 | buildTarget: DefaultTexturePlatform
70 | maxTextureSize: 32
71 | resizeAlgorithm: 0
72 | textureFormat: -1
73 | textureCompression: 0
74 | compressionQuality: 50
75 | crunchedCompression: 0
76 | allowsAlphaSplitting: 0
77 | overridden: 0
78 | androidETC2FallbackOverride: 0
79 | forceMaximumCompressionQuality_BC6H_BC7: 0
80 | - serializedVersion: 3
81 | buildTarget: Standalone
82 | maxTextureSize: 32
83 | resizeAlgorithm: 0
84 | textureFormat: -1
85 | textureCompression: 0
86 | compressionQuality: 50
87 | crunchedCompression: 0
88 | allowsAlphaSplitting: 0
89 | overridden: 0
90 | androidETC2FallbackOverride: 0
91 | forceMaximumCompressionQuality_BC6H_BC7: 0
92 | - serializedVersion: 3
93 | buildTarget: Android
94 | maxTextureSize: 32
95 | resizeAlgorithm: 0
96 | textureFormat: -1
97 | textureCompression: 0
98 | compressionQuality: 50
99 | crunchedCompression: 0
100 | allowsAlphaSplitting: 0
101 | overridden: 0
102 | androidETC2FallbackOverride: 0
103 | forceMaximumCompressionQuality_BC6H_BC7: 0
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID: 5e97eb03825dee720800000000000000
111 | internalID: 0
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | secondaryTextures: []
117 | nameFileIdTable: {}
118 | spritePackingTag: SimpleFileBrowserUI
119 | pSDRemoveMatte: 1
120 | pSDShowRemoveMatteOption: 1
121 | userData:
122 | assetBundleName:
123 | assetBundleVariant:
124 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSpriteAtlas.spriteatlas:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!687078895 &4343727234628468602
4 | SpriteAtlas:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_Name: SimpleFileBrowserSpriteAtlas
10 | m_EditorData:
11 | serializedVersion: 2
12 | textureSettings:
13 | serializedVersion: 2
14 | anisoLevel: 1
15 | compressionQuality: 50
16 | maxTextureSize: 2048
17 | textureCompression: 0
18 | filterMode: 1
19 | generateMipMaps: 0
20 | readable: 0
21 | crunchedCompression: 0
22 | sRGB: 1
23 | platformSettings:
24 | - serializedVersion: 3
25 | m_BuildTarget: DefaultTexturePlatform
26 | m_MaxTextureSize: 2048
27 | m_ResizeAlgorithm: 0
28 | m_TextureFormat: -1
29 | m_TextureCompression: 0
30 | m_CompressionQuality: 50
31 | m_CrunchedCompression: 0
32 | m_AllowsAlphaSplitting: 0
33 | m_Overridden: 0
34 | m_AndroidETC2FallbackOverride: 0
35 | m_ForceMaximumCompressionQuality_BC6H_BC7: 1
36 | packingSettings:
37 | serializedVersion: 2
38 | padding: 8
39 | blockOffset: 1
40 | allowAlphaSplitting: 0
41 | enableRotation: 0
42 | enableTightPacking: 0
43 | enableAlphaDilation: 0
44 | secondaryTextureSettings: {}
45 | variantMultiplier: 1
46 | packables:
47 | - {fileID: 2800000, guid: 3b2a773e413d3e84f8c7c757734af584, type: 3}
48 | - {fileID: 2800000, guid: 293ea6a99c4ba134cae49556942ee0ff, type: 3}
49 | - {fileID: 2800000, guid: 89f87b95a0cf73b4484ab74fe3f9ea26, type: 3}
50 | - {fileID: 2800000, guid: 81da6e5b6342f8f47a5a3a24221306c6, type: 3}
51 | - {fileID: 2800000, guid: c1e1f7ef76f59f54bbde5162f2709794, type: 3}
52 | - {fileID: 2800000, guid: 27947666271b231439b4409a81cb5d59, type: 3}
53 | - {fileID: 2800000, guid: 93482309cf79cef4a9ed8464c560334b, type: 3}
54 | - {fileID: 2800000, guid: ac5741fcd06d2ce45b9ae2ce9df3c4a1, type: 3}
55 | - {fileID: 2800000, guid: d06b8cf70dff2fe418249a6276f9ff70, type: 3}
56 | - {fileID: 2800000, guid: 53a62df1d392a10498ec79719f8eef1f, type: 3}
57 | - {fileID: 2800000, guid: 4924b77159e651e4aaa9a22286725d94, type: 3}
58 | - {fileID: 2800000, guid: f73f38102c749484bbd884d4d8d87440, type: 3}
59 | - {fileID: 2800000, guid: 01b10cc2da49f7442ba6525072e1f86a, type: 3}
60 | - {fileID: 2800000, guid: 130f660889a70c947bff4c8ba8a2c73e, type: 3}
61 | - {fileID: 2800000, guid: d6beaeac8de2af749a48581db778df3e, type: 3}
62 | - {fileID: 2800000, guid: 30a2566f94f937b4998542121050e68b, type: 3}
63 | - {fileID: 2800000, guid: 285f1e681b119ce48ae469448241360b, type: 3}
64 | - {fileID: 2800000, guid: 3eb0ab0fddc930a498bef8ce7e149ea0, type: 3}
65 | - {fileID: 2800000, guid: f668f62689b67d242ad33ff665594344, type: 3}
66 | - {fileID: 2800000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3}
67 | - {fileID: 2800000, guid: b9c5fedc997f125448c4d8be2fc43bcd, type: 3}
68 | - {fileID: 2800000, guid: 90bee1ddeeef38a4f860f96b5510c136, type: 3}
69 | - {fileID: 2800000, guid: 2c46fa192de46b04e8281f225bee0230, type: 3}
70 | bindAsDefault: 1
71 | isAtlasV2: 0
72 | cachedData: {fileID: 0}
73 | m_MasterAtlas: {fileID: 0}
74 | m_PackedSprites:
75 | - {fileID: 21300000, guid: f73f38102c749484bbd884d4d8d87440, type: 3}
76 | - {fileID: 21300000, guid: 4924b77159e651e4aaa9a22286725d94, type: 3}
77 | - {fileID: 21300000, guid: 53a62df1d392a10498ec79719f8eef1f, type: 3}
78 | - {fileID: 21300000, guid: 01b10cc2da49f7442ba6525072e1f86a, type: 3}
79 | - {fileID: 21300000, guid: 89f87b95a0cf73b4484ab74fe3f9ea26, type: 3}
80 | - {fileID: 21300000, guid: f668f62689b67d242ad33ff665594344, type: 3}
81 | - {fileID: 21300000, guid: 27947666271b231439b4409a81cb5d59, type: 3}
82 | - {fileID: 21300000, guid: d06b8cf70dff2fe418249a6276f9ff70, type: 3}
83 | - {fileID: 21300000, guid: 130f660889a70c947bff4c8ba8a2c73e, type: 3}
84 | - {fileID: 21300000, guid: 285f1e681b119ce48ae469448241360b, type: 3}
85 | - {fileID: 21300000, guid: 93482309cf79cef4a9ed8464c560334b, type: 3}
86 | - {fileID: 21300000, guid: 2c46fa192de46b04e8281f225bee0230, type: 3}
87 | - {fileID: 21300000, guid: 293ea6a99c4ba134cae49556942ee0ff, type: 3}
88 | - {fileID: 21300000, guid: 6ff773ea42aedd04c8bb96a1fe9a73b8, type: 3}
89 | - {fileID: 21300000, guid: 81da6e5b6342f8f47a5a3a24221306c6, type: 3}
90 | - {fileID: 21300000, guid: d6beaeac8de2af749a48581db778df3e, type: 3}
91 | - {fileID: 21300000, guid: b9c5fedc997f125448c4d8be2fc43bcd, type: 3}
92 | - {fileID: 21300000, guid: ac5741fcd06d2ce45b9ae2ce9df3c4a1, type: 3}
93 | - {fileID: 21300000, guid: 90bee1ddeeef38a4f860f96b5510c136, type: 3}
94 | - {fileID: 21300000, guid: 3b2a773e413d3e84f8c7c757734af584, type: 3}
95 | - {fileID: 21300000, guid: 3eb0ab0fddc930a498bef8ce7e149ea0, type: 3}
96 | - {fileID: 21300000, guid: 30a2566f94f937b4998542121050e68b, type: 3}
97 | - {fileID: 21300000, guid: c1e1f7ef76f59f54bbde5162f2709794, type: 3}
98 | m_PackedSpriteNamesToIndex:
99 | - DropdownArrow
100 | - Checkmark
101 | - VideoFileIcon
102 | - ErrorIcon
103 | - DefaultFileIcon
104 | - SimpleFileBrowserSlicedBackground1
105 | - FolderIcon
106 | - TextFileIcon
107 | - ForwardArrow
108 | - SimpleFileBrowserDrag
109 | - ImageFileIcon
110 | - SimpleFileBrowserSlicedBackground5
111 | - AudioFileIcon
112 | - SimpleFileBrowserSlicedBackground2
113 | - DriveIcon
114 | - MultiSelectionToggleOff
115 | - SimpleFileBrowserSlicedBackground3
116 | - PdfFileIcon
117 | - SimpleFileBrowserSlicedBackground4
118 | - ArchiveIcon
119 | - SimpleFileBrowserMoreOptions
120 | - MultiSelectionToggleOn
121 | - ExecutableIcon
122 | m_RenderDataMap: {}
123 | m_Tag: SimpleFileBrowserSpriteAtlas
124 | m_IsVariant: 0
125 |
--------------------------------------------------------------------------------
/Plugins/SimpleFileBrowser/Sprites/SimpleFileBrowserSpriteAtlas.spriteatlas.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1171c432c4306874fb9d5812093dcfac
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 4343727234628468602
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "com.yasirkula.simplefilebrowser",
3 | "displayName": "Simple File Browser",
4 | "version": "1.7.4",
5 | "documentationUrl": "https://github.com/yasirkula/UnitySimpleFileBrowser",
6 | "changelogUrl": "https://github.com/yasirkula/UnitySimpleFileBrowser/releases",
7 | "licensesUrl": "https://github.com/yasirkula/UnitySimpleFileBrowser/blob/master/LICENSE.txt",
8 | "description": "This plugin helps you show save/load dialogs during gameplay with its uGUI based file browser."
9 | }
10 |
--------------------------------------------------------------------------------
/package.json.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 67c5b913f413c8d419f87bd0d8aabd81
3 | PackageManifestImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------