/** * Picks up a block if there's a moveable on in front, * or drops a block if the alpaca has one and there's a platform it can fall on. */ bool AttemptPickUpOrPlaceBlock() { Vector3 curr = alpaca.GetCurrAlpacaLocation(); Vector3 dest = alpaca.GetCurrAlpacaDest(clickedWhere); // Is there a block above attempted block? if (GetBlockAbove(dest) != null && GetBlockAbove(dest).b_type == Block.BlockType.MOVEABLE) { return(false); } bool temp = (map.TryHoldOrPlaceBlock(dest)); if (temp) { alpaca.SetBlock(map.IsBlockHeld()); scoreboardController.incrementNumMoves(); } else { map.LoadTryHoldBlock(dest, false); } if (control_scheme == 2) { UpdateBlockButt(); alpaca.StopWalk(); } return(temp); }
void InteractWithNPC(ref NPCInteractionController npc) { if (npc != null) { comicController.SetComicAndMinigame(ref npc.comic, npc.minigameSceneName); comicController.DisplayComicAndShiftCam(); gameMode = GameMode.COMIC; } UpdateInteractability(); // Unhighlight NPC alpaca.StopWalk(); }