Você está na página 1de 6

Unity & SQLite Daybson B Salles Paisante Games Code

https://www.udemy.com/course/unity-sqlite/

UNITY SQLITE MULTI PLATAFORMA

SETUP WINDOWS, LINUX, UWP, MAC OS

Baixar DLLs do SQLite: www.sqlite.org

Configurar no inspector as DLLs para cada plataforma como a seguir:

“Precompiled Binaries for Windows x86”:


Unity & SQLite Daybson B Salles Paisante Games Code
https://www.udemy.com/course/unity-sqlite/

“Precompiled Binaries for Windows x64”:

SETUP ANDROID

Baixar o Android NDK x64: https://developer.android.com/ndk/downloads?hl=pt-Br

Baixar o zip no site do SQLite:

Source Code: sqlite-amalgamation-XXXXXXX.zip, onde XXXXXXX é a versão atual.

Em algum diretório de sua preferência fora do projeto da Unity, crie a estrutura de pastas para o
projeto de compilação feito pelo NDK:

--android_ndk_sqlite
--jni
shell.c
sqlite3.c
Android.mk
--include
sqlite3.h
sqlite3ext.h

O arquivo Android.mk deve ser criado com o bloco de notas e salvo com essa extensão. Conteúdo
do arquivo:
Unity & SQLite Daybson B Salles Paisante Games Code
https://www.udemy.com/course/unity-sqlite/

LOCAL_PATH := $(call my-dir)


include $(CLEAR_VARS)
LOCAL_LDLIBS := -llog
LOCAL_MODULE := sqlite3
LOCAL_SRC_FILES := sqlite3.c
include $(BUILD_SHARED_LIBRARY)

Coloque o caminho onde o NDK foi extraído na variável do ambiente PATH:

Após isso, abra o prompt de comando e navegue até o diretório da pasta /jni do projeto.

Estando nesse diretório, digite o comando ndk-build e aguarde a compilação das bibliotecas.
Unity & SQLite Daybson B Salles Paisante Games Code
https://www.udemy.com/course/unity-sqlite/

As bibliotecas que queremos adicionar no projeto Unity são:

-- android_ndk_sqlite
-- libs
-- armeabi-v7a
libsqlite3.so
-- x86
libsqlite3.so
--arm64-v8a
libsqlite3.so

Copie e cole cada arquivo .so dentro de sua pasta correspondente no projeto da Unity:

-- Assets
-- Plugins
-- SQLite
-- android
-- armeabi-v7a
libsqlite3.so
-- x86
libsqlite3.so
--arm64-v8a
libsqlite3.so

No Inspector, defina cada DLL para a plataforma específica:


Unity & SQLite Daybson B Salles Paisante Games Code
https://www.udemy.com/course/unity-sqlite/

SETUP IOS

Vá em: File -> Build Settins -> Other Settings e selecioen Api Compatibility Level: .NET Standard 2.0

https://docs.microsoft.com/pt-br/dotnet/standard/net-standard

MONO DLLS

É preciso copiar as DLLs do SQLite da pasta instalação da Unity para a pasta do projeto:

• Mono.Data.Sqlite
• Mono.Data.SqliteClient

Caminho: C:\Program Files\Unity\Hub\Editor\2019.2.9f1\Editor\Data\Mono\lib\mono\2.0

Destino: Assets/Plugins/SQLite
Unity & SQLite Daybson B Salles Paisante Games Code
https://www.udemy.com/course/unity-sqlite/

CONFIGURAÇÃO PARA GERAR AS BUILDS

BUILD IOS

Player Settings -> Otther Settings: Target SDK = “Simulator SDK”

Auto Graphics API: OpenGLES2 / OpenGLES3

GENERIC TYPE IN IOS

Métodos genéricos

https://docs.microsoft.com/pt-br/xamarin/ios/internals/limitations

//BASE CLASS
public class Animal { }

//EXTEND CLASS
public class Dog : Animal { }

public class GenericHost : MonoBehaviour


{
//GENERIC METHOD
public bool HostSomeAnimal<T>(T animal) where T : Animal
{
return true;
}

//GENERIC METHOD
public bool HostSome<T>(T animal)
{
return true;
}
}

Falha devido à limitação do AOT no iOS. É necessário fazer uma invocação ‘dummy’ apenas para
forçar a compilação para os tipos especificados:
https://docs.unity3d.com/Manual/ScriptingRestrictions.html

public class GenericHost : MonoBehaviour


{
private void Awake()
{
var a = new Animal();
HostSome<Animal>(a);

var dog = new Dog();


HostSome<Animal>(dog);
}

Você também pode gostar