public void Fishing() { if (GetValidFishingSpot()) { isFishing = true; Debug.Log("Fishing Valid"); } else { nearestLevel = null; } if (isFishing == true) { if (GetValidFishingSpot()) { gainedFish += nearestLevel.fishAmount; isFishing = false; } else { isFishing = false; } } }
private bool GetValidFishingSpot() { if (WorldHandler.worldGenTileHolder[unit.position.x, unit.position.z + 1] == 1) { nearestLevel = WorldHandler.tileObjects[unit.position.x, unit.position.z + 1].GetComponent <WaterLevels>(); return(true); } else if (WorldHandler.worldGenTileHolder[unit.position.x, unit.position.z - 1] == 1) { nearestLevel = WorldHandler.tileObjects[unit.position.x, unit.position.z - 1].GetComponent <WaterLevels>(); return(true); } else if (WorldHandler.worldGenTileHolder[unit.position.x + 1, unit.position.z] == 1) { nearestLevel = WorldHandler.tileObjects[unit.position.x + 1, unit.position.z].GetComponent <WaterLevels>(); return(true); } else if (WorldHandler.worldGenTileHolder[unit.position.x - 1, unit.position.z] == 1) { nearestLevel = WorldHandler.tileObjects[unit.position.x - 1, unit.position.z].GetComponent <WaterLevels>(); return(true); } return(false); }
private void SpawnWater() { for (int i = 0; i < worldZSize; i++) { for (int j = baseHeight + 1 + waterHeight; j < worldXSize - (baseHeight + 1 + waterHeight); j++) { if (worldGenTileHolder[j, i] == 0) { float waterRand = Random.Range(0.0f, 1.0f); if (waterRand <= waterChance) { worldGenTileHolder[j, i] = 1; //water tile } } } } for (int k = 0; k < waterSmoothIterations; k++) { for (int i = 0; i < worldZSize; i++) { for (int j = baseHeight + 1; j < worldXSize - (baseHeight + 1); j++) { SmoothWater(j, i); } } } for (int i = 0; i < worldZSize; i++) { for (int j = baseHeight + 1; j < worldXSize - (baseHeight + 1); j++) { Vector3Int tilePos = new Vector3Int(j, 0, i); if (worldGenTileHolder[j, i] == 0) { Instantiate(groundPrefab, tilePos, Quaternion.identity, terrainHolder); } else if (worldGenTileHolder[j, i] == 1) { tileObjects[j, i] = Instantiate(waterPrefab, tilePos, Quaternion.identity, terrainHolder); WaterLevels wl = tileObjects[j, i].GetComponent <WaterLevels>(); if (j < 25) { wl.fishAmount = 1; wl.mr.material = waterNearMat; } else if (j < 40) { wl.fishAmount = 3; wl.mr.material = waterMidMat; } else if (j < 60) { wl.fishAmount = 6; wl.mr.material = waterFarMat; } else if (j < 75) { wl.fishAmount = 3; wl.mr.material = waterMidMat; } else if (j <= 100) { wl.fishAmount = 1; wl.mr.material = waterNearMat; } } } } }