Sin embargo, algunas clases estaban vacías. Así que continué completando todas las clases, y añadiendo más clases que se necesitaban, hasta la jerarquía de clases que tengo ahora mismo:
La traducción de Java a C# fue bastante sencilla. Los cambio más significativos son los siguientes:
- El código original en Java utilizaba ArrayList. Yo en C# he usado List, porque he leído en los foros de Unity que es más útil y más cómodo, sobre todo porque le especificas el tipo de la lista, mientras que con ArrayList (en C#) no. Además, ArrayList en C# también puede generar otros problemas.
- He utilizado float en vez de double (utilizado en el código original), recomendado por mi tutor porque todo el motor de Unity trabaja con float, y al utilizar Mathf (que necesita floats), al hacer cast se pierde precisión.
- El código original utiliza HashMap. Yo he utilizado un equivalente en C#, Dictionary, al que se le especifica el tipo de Key y de Value, al igual que con HashMap (con Hashtable, sin embargo, no). Recorrer una colección de tipo Dictionary, es sencillo, utilizando: foreach (KeyValuePair p in ...).
- La última diferencia es que en C# no hay que declarar las excepciones que lanza un método; las extrae directamente del cuerpo del método.