Serializable = Guarda el estado de un objeto como bytes para utilizarlo/crearlo mas adelante.
Ejemplo :
[Serializable]
public class Count
{
public int minimum;
public int maximum;
//Minimum value for our Count class.
//Maximum value for our Count class.
//Assignment constructor.
public Count (int min, int max)
{
minimum = min;
maximum = max;
}
}
Esta clase serializada se utiliza mas adelante como si fuera un tipo como por ejemplo int o string.
Ejemplo :
public Count wallCount = new Count (5,9); // Hacemos referencia a count como a la clase anterior,
sin tipo.
En caso de tener varios prefabs/objetos que interactuen de diferentes maneras podemos crear un
array de ellos y llamarlos individualmente.
public GameObject[] floorTiles;
//Array of floor prefabs.
public GameObject[] wallTiles;
//Array of wall
public GameObject[] foodTiles;
//Array of food
prefabs.
prefabs.
public GameObject[] enemyTiles;
//Array of enemy
public GameObject[] outerWallTiles;
//Array of outer tile
prefabs.
prefabs.
Tiles : Numero de repeticiones
Vector 3 hace referencia a X,Y,Z es decir, en este caso hace referencia a las filas (X), columnas (Y)
y profundidad (Z).
En este caso : gridPosition.add(new vector3(x,y,0f)):
En el ejemplo anterior, en la posicion z encontramos 0f lo cual hace referencia a una profundidad
0 y que este valor Z es del tipo float, es decir, puede ser decimal
Quaternion : Rotacion de un objeto.
Quaternion.identity : Bloquea la rotacion de un objeto, es decir, impide que este rote.
Transform : Indica la posicion, rotacion y escala de un objeto.
instance.transform.SetParent(boardHolder);
Establece como padre
Quad : objeto que tiene la misma cara por la parte delantera que trasera
Mathf.log(level,2f) : Devuelve el logaritmo de un numero en base al numero indicado, en este caso
devuelve el numero level en base 2 con un valor float.
En script MovinObject
clases abstractas son aquellas que pueden ser modificadas por otra funcion y que utilizan como base
varios objetos, en caso del roguelike es utilizada con los enemigos y el jugador ya que ambos
pueden ver bloqueado su camino ya sea por un muro en caso del player o un player en caso del
enemigo.
De esta manera y con esta funcion comprobamos si es posible el movimiento.
Protected VIRTUAL (clases virtuales) : Son aquellas que pueden ser sobreescritas por cualquiera de
las clases que la heredan, es decil, en caso del script MovingObject tenemos las funciones virtuales
start y attemptMove las cuales son pueden ser modificadas segn el parametro utilizado (en este
caso T). Como podemos ver indicamos que lo que tenga que llevar a cabo esa funcion se hara
siempre y cuando el parametro T sea un componente.