Example #1
0
    public static bool moveActor(Actor actor, int dX, int dY)
    {
        if (mover.actor != null)
        {
            Debug.Log("moving too fast");
            return(false);
        }

        mover.actor = actor;

        // grid x and y
        mover.start = new Vector2i(actor.x, actor.y);
        mover.end   = new Vector2i(dX, dY);

        // drawn x and y
        mover.position    = getCenteredActorPosition(actor.gameObject, PerspectiveMap.renderPerspective(actor.x + 1, actor.y));
        mover.destination = getCenteredActorPosition(actor.gameObject, PerspectiveMap.renderPerspective(dX + 1, dY));

        mover.snapPositionTime = Time.time + 0.4f;

        mover.sortingOrder = Mathf.Max(getSortingOrder(mover.start.x, mover.start.y), getSortingOrder(mover.end.x, mover.end.y));

        mover.actor.gameObject.GetComponent <SpriteRenderer>().sortingOrder = mover.sortingOrder;

        WorldGrid[actor.x, actor.y].moving = true;

        return(true);
    }
Example #2
0
    public void drawActorAtPosition(int i, int j)
    {
        var actor = WorldGrid[i, j].Actor;

        actor.transform.position  = PerspectiveMap.renderPerspective(i + 1, j);
        actor.transform.position += actor.GetComponent <SpriteRenderer>().sprite.bounds.extents.y *Vector3.up;
        actor.transform.position -= actor.GetComponent <SpriteRenderer>().sprite.bounds.extents.x / 2 * Vector3.right;
        actor.GetComponent <SpriteRenderer>().sortingOrder = getSortingOrder(i, j);
    }
Example #3
0
    public void renderWorld()
    {
        var map = dg.map;

        for (int i = 0; i < ApplicationConstants.DUNGEON_WIDTH; i++)
        {
            for (int j = 0; j < ApplicationConstants.DUNGEON_HEIGHT; j++)
            {
                DungeonTile current_Tile = WorldGrid[i, j];
                current_Tile.Tile = DungeonGenerator.tileFromId(map[i, j]);
                current_Tile.Tile.transform.position = PerspectiveMap.renderPerspective(i, j);
                current_Tile.Tile.GetComponent <SpriteRenderer>().sortingOrder = j * ApplicationConstants.DUNGEON_WIDTH - i - 1;
                WorldGrid[i, j] = current_Tile;
            }
        }
    }
Example #4
0
 public static Vector3 getDestination(int x, int y)
 {
     return(PerspectiveMap.renderPerspective(x, y));
 }