Skip to content

Instantly share code, notes, and snippets.

@carlows
Created June 26, 2016 20:30
Show Gist options
  • Save carlows/899db0860a44af61fb85abc76b182f41 to your computer and use it in GitHub Desktop.
Save carlows/899db0860a44af61fb85abc76b182f41 to your computer and use it in GitHub Desktop.
structure

Project structure

La estructura del proyecto va a ser de la siguiente manera:

  • Editor: aca se guardan scripts que tengan que ver con el editor de Unity (probablemente casi no tocaremos esta carpeta)
  • Scenes: las escenas de Unity seran nuestros niveles (solo puede trabajar una persona en cada escena)
  • Materials: los materiales que utilizara nuestro juego
  • Sprites: sprites creados en photoshop, texturas, etc.
  • Sounds: sonidos, duh.
  • Scripts: Aca organizaremos todos los scripts utilizando un patron MVC.
  • Scripts/Models: modelos de nuestro juego (por ejemplo un Tile, un Player), aca se almacenara la informacion de todas las entidades.
  • Scripts/Controllers: controladores (estos son los scripts que se le van a poner a los componentes)

La idea de MVC es separar en el codigo lo que corresponde a cada cosa:

  • Los modelos van a ser nuestra representacion de la data, habra modelos para Player, Level, etc
public class Player 
{
  private int Health { get; set; }
  
  public Player()
  {
    this.Health = 100;
  }
}

Los modelos solo contendran informacion, y logica que corresponda a este modelo en especifico, no van a heredar de MonoBehaviour

  • Controllers, los controladores van a tener logica para el juego, seran nuestros managers.

Por ejemplo un EnemyController se va a encargar de toda la logica que maneje a un enemigo.

public class EnemyController : MonoBehaviour
{
  public Enemy enemy;
  
  void Start()
  {
    instantiateEnemy();
    moveEnemytoInitialPosition();
  }
  
  void Update()
  {
    if(enemyInPlayerRange())
    {
      attack();
    }
  }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment