private void HandlePlayerMovement() { // Add the latest position to the list if not done before newPosition.x = inputScript.GetPlayerX(); newPosition.y = inputScript.GetPlayerZ();; // playerZ because the PC application is in 3D and Y is up/down bool pathNeedsUpdate = false; if (playerPositionList.Count <= 0) { lastPosition = newPosition; playerPositionList.Add(newPosition); pathNeedsUpdate = true; } else { lastPosition = playerPositionList[playerPositionList.Count - 1]; if (lastPosition.x != newPosition.x || lastPosition.y != newPosition.y) { playerPositionList.Add(newPosition); pathNeedsUpdate = true; } } if (pathNeedsUpdate) { // Update the path inbetween the last and current position UpdatePath(lastPosition, newPosition); } }
void Update() { foreach (GameObject torch in torches) { Vector3 currentPos = maze[inputScript.GetPlayerX(), inputScript.GetPlayerZ()].floor.transform.position; if (Vector3.Distance(currentPos, torch.transform.position) <= 10f) { torch.SetActive(true); } else { torch.SetActive(false); } } }
public void Update() { Vector2 currentPos = new Vector2(inputScript.GetPlayerX(), inputScript.GetPlayerZ()); foreach (TreasureBag container in treasureBagList) { if (container.position != currentPos) { continue; } collectedTreasureCount += 1; CheckForKey(); Destroy(container.bag); treasureBagList.Remove(container); treasurePositionList.Remove(container.position); break; } data.treasuresFoundCount = collectedTreasureCount; lootCounterText.text = "Treasures: " + collectedTreasureCount + "/" + treasureCount; }