Beispiel #1
0
    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;
            }
        }
    }
Beispiel #2
0
    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);
    }
Beispiel #3
0
    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;
                    }
                }
            }
        }
    }