示例#1
0
    // Use this for initialization
    void Start()
    {
        dungeonFloor = DungeonGenerator.CreateFloor(64, 64, new Dungeon());
        RLBaseTile start = null;

        foreach (RLBaseTile t in dungeonFloor.Tiles)
        {
            if (t != null)
            {
                if (start == null && !t.GetTileType().BlocksMovement)
                {
                    start = t;
                }
                TileRenderer.BindTile(t);
            }
        }
        _actor = new SimpleActor(StatBlock.CreateInstance(baseStats, 3, 7, 9))
        {
            BasicMoveSkill      = move,
            fieldOfView         = new BresenhamFOV(),
            OnVisibilityChanged = (tile, visible) =>
            {
                if (visible)
                {
                    tile.SetCurrentlyVisibleToPlayer(true);
                    tile.SetEverSeenByPlayer(true);
                }
                else
                {
                    tile.SetCurrentlyVisibleToPlayer(false);
                }
            }
        };
        StatBlockDisplay.BindStatBlock(_actor.GetStats());
        start.SetActor(_actor);
        RLActorController actorController = Instantiate(ActorPrefab, transform);

        actorController.effectRenderer = effectRenderer;
        actorController.BindActor(_actor);
        InventoryDisplay.BindInventory(_actor);
        virtualCam.Follow = actorController.transform;
    }