https://github.com/shamsdev/davinci
An esay-to-use image downloading and caching library for Unity
https://github.com/shamsdev/davinci
cs csharp davinci image image-downloader unity unity-ui unity3d
Last synced: 2 months ago
JSON representation
An esay-to-use image downloading and caching library for Unity
- Host: GitHub
- URL: https://github.com/shamsdev/davinci
- Owner: shamsdev
- License: mit
- Created: 2019-09-01T08:43:16.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-10-10T09:48:53.000Z (over 3 years ago)
- Last Synced: 2024-06-17T02:51:41.662Z (almost 2 years ago)
- Topics: cs, csharp, davinci, image, image-downloader, unity, unity-ui, unity3d
- Language: C#
- Homepage:
- Size: 649 KB
- Stars: 273
- Watchers: 12
- Forks: 51
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- anything_about_game - davinci - to-use image downloading and caching library for Unity (NetWork)
README
Davinci
---
🖼 A powerful, easy-to-use image downloading and caching library for **Unity** in Run-Time! 😎

Simple usage - Single line of code and ready to go!
```csharp
Davinci.get().load(imageUrl).into(image).start();
```
🔴 **Update : Support for any type of Renderer components has been added. now we can download 3D model's textures in run-time!**

Features
---
### Customizable image placeholders

```csharp
Davinci.get()
.load(url)
.setLoadingPlaceholder(loadingTexture)
.setErrorPlaceholder(errorTexture)
.into(image)
.start();
```
### Loading Fade Time

```csharp
Davinci.get()
.load(url)
.setFadeTime(2) // 0 for disable fading
.into(image)
.start();
```
### Fully access to operation progress and callbacks

```csharp
Davinci.get()
.load(imageUrl)
.into(image)
.withStartAction(() =>
{
Debug.Log("Download has been started.");
})
.withDownloadProgressChangedAction((progress) =>
{
Debug.Log("Download progress: " + progress);
})
.withDownloadedAction(() =>
{
Debug.Log("Download has been completed.");
})
.withLoadedAction(() =>
{
Debug.Log("Image has been loaded.");
})
.withErrorAction((error) =>
{
Debug.Log("Got error : " + error);
})
.withEndAction(() =>
{
Debug.Log("Operation has been finished.");
})
.start();
```
### Caching Control
You can simply cache downloaded images so Davinci won't download it again from the same url. It's cool! Isn't it? 😁
(Default is `True`)
```csharp
Davinci.get().load(imageUrl).setCached(true).into(image).start();
```
Also you can clear Davinci cached files:
```csharp
//For a certain file
Davinci.CleareCache(imageUrl);
//For all files
Davinci.ClearAllCachedFiles();
```
Also:
- Supports Unity UI Image Component
- Compatible with all platforms and unity versions.
### Supporting Platforms
- Standalone Builds
- Android
- iOS
- WebGl
Usage
----
Clone the project. Open Davinci/Assets in unity or import the UnityPackage to your existing project.
You can see lots of examples in Assets/Examples
Please see the Wiki page for more information and examples
Development
----
Want to contribute? Great!
Make a change in your file and instantaneously see your updates!
TODO
----
- Add support for textures ✅
- Improvements
License
----
**Davinci** is available under the **MIT** license. See the LICENSE file for more info.