Skip to content

Instantly share code, notes, and snippets.

@fitomad
Created September 18, 2018 13:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fitomad/e5161d4858cecdfe7015e535f7dbce31 to your computer and use it in GitHub Desktop.
Save fitomad/e5161d4858cecdfe7015e535f7dbce31 to your computer and use it in GitHub Desktop.
public protocol Controlling
{
associatedtype Element
/// Todos los elementos que hay en el sistema
var elements: [Element]? { get }
/**
Damos de alta un nuevo elemento
*/
func register(_ element: Element) -> Void
/**
Damos de bajo un elemento
*/
func unregister(_ element: Element) -> Void
/**
Da respuesta a la petición de un elemento de
moverse a una nueva posición.
Le pregunta a los elementos de `elements` si alguno
está ocupando esa posición.
- Parameters:
- position: La posición que se quiere ocupar
- element: Quien la quiere ocupar
- Returns: Si el movimiento es válido
*/
func checkMovement(to position: Position, from element: Element) -> Bool
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment