Download SQLite en Unity 5 - Universidad de El Salvador

Document related concepts
Transcript
Universidad de El Salvador
Facultad de Ingeniería y Arquitectura
Escuela de Ingeniería de Sistemas Informáticos
Guía de apoyo 03 para Taller
Compdes 2015
“Tema: Desarrollo de videojuegos para apoyar el
Proceso de enseñanza-aprendizaje en la
Universidad de El Salvador
utilizando Unity3D y Blender”
Elaborado por:
Br. José Giovanni Cruz Cordero.
Br. Oscar Raúl Pleitez Trujillo.
Br. Carlos Gerardo González Serrano.
Br. Milton Enrique Ramírez Nery.
Ing. Boris Alexander Montano Navarrete.
Ing. César Augusto González Rodríguez.
Ciudad Universitaria, 29 de junio de 2015.
Contenido
Casos de instalación ............................................................................................................................................................ 1
1-
Crear estructura base: ........................................................................................................................................... 1
2-
Descargar SQLite: ................................................................................................................................................... 1
3-
Copia de archivos necesarios para el funcionamiento de la base SQLite: .................................................... 1
4-
Instalar una herramienta para la gestión de la base de datos que se creara. ............................................... 3
5-
Crear Base de datos............................................................................................................................................... 3
6-
Crear Script de conexión a la base de datos:..................................................................................................... 7
7-
Crear El entorno de prueba:.................................................................................................................................. 9
8-
Resultados: .............................................................................................................................................................. 9
1
Casos de instalación
1- Crear estructura base:
Crear una carpeta llamada Plugins dentro de la carpeta Assets, aca es donde
estarán los
archivos necesarios para el funcionamiento de SQLite en tu
videojuego.
2- Descargar SQLite:
La descarga del archivo de SQLite depende del tipo arquitectura en el cual
funciona Unity.

Si el sistema es x86 descarga de la página:

http://www.sqlite.org/download.html.

Si el sistema es x64 descarga de la página:
o
http://blog.synopse.info/post/2013/03/23/Latest-version-of-sqlite3.dllfor-Windows-64-bit
3- Copia de archivos necesarios para el funcionamiento de la base SQLite:
Para que Unity pueda establecer conexión con la base de datos es necesario
crear la siquiente estructura de archivos:

Dependiendo la arquitectura de que se este utilizando se deberá copiar
los siguientes archivos de la carpeta de instalación de Unity:
o
X86:

C:\ProgramFiles/(x86)\Unity\Editor\Data\Mono\lib\mono\2.0

System.Data.dll
2

o
Mono.Data.Sqlite.dll
X64:

C:\Program Files\Unity\Editor\Data\Mono\lib\mono\2.0


System.Data.dll
Mono.Data.Sqlite.dll

Colocar la copia de los archivos en:
o Assets/Plugins

Colocar los archivos descargados en:
o
Arquitectura x86:

o
/Assets/Pugins/x86: Aca estará el archivo sqlite3.dll
Arquitectura x64:

/Assets/Pugins/ x86_64: Aca estará el archivo sqlite3.d+ll
(Version de 64 bits)
Al final deberá quedar una estructura de archivos como la siguiente:
NOTA:
Asegúrate de dejar los archivos sqlite3.dll en sus carpetas correspondientes, de lo contrario
la conexión entre unity y SQLite no funcionara. Las carpetas de nombre “x86” y “x86_64”
son nombres estandarizados, necesarios para que Unity pueda reconocer donde se
encuentran los archivos .dll .
3
4- Instalar una herramienta para la gestión de la base de datos que se
creara.
En este ejemplo utilizaremos
SQLite Administrator: http://sqliteadmin.orbmu2k.de/
5- Crear Base de datos

Interfaz grafica de SQLite Administrator:
Botones de acceso directo a objetos de la Base de datos: Utiles para filtrar rápidamente entre los
elementos de la base de datos.
Barra de Menus
Barra de Herramientas
Consulta SQL: Ingrese aca los script SQL que desee
ejecutar.
Area de estructura
Resultado: Area de resultados obtenidos por la
de objetos de la
consulta SQL.
base de datos.
Editar Datos: Edite datos de las tablas creadas en su
Base de Datos.
4
Creando Base de Datos:
i. Haga click en el boton:
, Cree una base de datos llamada
Database.
ii. Guarde la base de datos en la dirección: Assets/Plugins de tu
proyecto Unity.

Creacion de tablas:
En este ejemplo crearemos dos tablas: Player e Item:
1. Click derecho en la carpeta Tablas.
2. Haga click en el botón Crear Tabla.
Cree las siguientes tablas:
Player: idPlayer (Primary Key)
nombre
descripción
Item:
idItem (Primary Key)
nombre
descripción
Insertando datos de prueba:
5
Tabla Player:
Tabla item:
6
La creación de cada tabla generara un script como el siguiente:

Ingresar datos a las tablas: Agregar valores de prueba a las tablas:
Ejemplo:
NOTA:
SQLite no posee el manejo de contraints para llaves foráneas. Es por ello que ell manejo de
Integridad referencial entre las tablas de SQLite se debe hacer por medio del uso de
Triggers.
7
6- Crear Script de conexión a la base de datos:
Crear un script el cual contendrá el código necesario para establecer conexión
con la base de datos:

En Unity haga click derecho sobre la carpeta plugins: Create -> C# Script

Nombrar el archivo que contendrá el Script. Ej: SQLite
Hacer click derecho sobre el archivo Generado. Por default se abrirá la aplicación
Mono Develop que viene integrado con Unity.
8
Crear el siguiente script dentro del archivo C# creado:

using
using
using
using
using
UnityEngine;
System.Collections;
Mono.Data.Sqlite;
System.Data;
System;
public class SQLite : MonoBehaviour {
// Use this for initialization
void Start () {
string conn = "URI=file:" + Application.dataPath + "/Plugins/Database.s3db";
//Path to database.
Debug.Log (conn);
IDbConnection dbconn;
dbconn = (IDbConnection) new SqliteConnection(conn);
dbconn.Open(); //Open connection to the database.
IDbCommand dbcmd = dbconn.CreateCommand();
string sqlQuery = "SELECT * FROM player";
dbcmd.CommandText = sqlQuery;
IDataReader reader = dbcmd.ExecuteReader();
while (reader.Read())
{
int value = reader.GetInt32(0);
string name = reader.GetString(1);
string alias = reader.GetString(1);
string password = reader.GetString(1);
Debug.Log( "idPlayer= "+value
+" nombre= "+name
+" alias= "+ alias
+" password= "+ password);
}
reader.Close();
reader = null;
dbcmd.Dispose();
dbcmd = null;
dbconn.Close();
dbconn = null;
}
// Update is called once per frame
void Update () {
}
}
9
7- Crear El entorno de prueba:

Crear Terreno:
En la barra de menú de Unity:
1. GameObject/3D object/Terrain
2. GameObject/3D object/Capsule

Agregar el Script de conexión al objeto Capsule.
8- Resultados:
Finalmente presionar el botón de ejecución de Unity. En la pestaña de la consola
aparecerán los resultados de la consulta realizada a la tabla Player: