/** * A dedicated function to create the game object and tile component from it's parts. * Note: There isn't a way to externally create components. * @param x refers to the grid location * @param y refers to the grid location * @param tileTemplate refers to the template who is the base for the given tile */ public GameObject addTile(int x, int y, componentTile tileTemplate, Notifier notify) { GameObject tileObject = componentTile.generateObject(TILE_OBJECT_NAME + " (" + x + "," + y + ")", tileTemplate, notify); addMapObject(x, y, tileObject); return tileObject; }
public static GameObject generateObject(string objectName, componentTile tileTemplate, Notifier notify) { GameObject gameObject = generateObject(objectName, tileTemplate.getSpriteName(), tileTemplate.getTypeTerrain(), tileTemplate.getParent(), tileTemplate.getNotifyBehaviors(), notify); BoxCollider2D boxCollider = tileTemplate.gameObject.GetComponent<BoxCollider2D>(); if(boxCollider != null) { BoxCollider2D newBoxCollider = gameObject.AddComponent<BoxCollider2D>(); newBoxCollider.isTrigger = boxCollider.isTrigger; newBoxCollider.size = boxCollider.size; } CircleCollider2D circleCollider = tileTemplate.gameObject.GetComponent<CircleCollider2D>(); if(circleCollider != null) { CircleCollider2D newCircleCollider = gameObject.AddComponent<CircleCollider2D>(); newCircleCollider.isTrigger = circleCollider.isTrigger; newCircleCollider.radius = circleCollider.radius; } return gameObject; }