Ejemplo n.º 1
0
        internal void TryDig(DigDirection direction)
        {
            Vector3 position = GetDigPosition(direction);

            WorldTile tileToDig = gameTiles.GetTileAt(position);

            if (tileToDig != null && tileToDig.Ore.Data != null && tileToDig.Ore.Data.ore != Ore.BedRock)
            {
                if (tileToDig.TilemapMember.GetTile(tileToDig.LocalPlace) == null)
                {
                    return;
                }

                if (!digParticles.isPlaying)
                {
                    digParticles.Play();
                }

                RotateDigParticles(direction);
                tileToDig.Durability -= Time.deltaTime * DigSpeed * GetTierMultiplier();
                playerEnergy.DecreaseEnergy(Time.deltaTime);
                if (tileToDig.Durability <= 0)
                {
                    Debug.Log("Mined " + tileToDig.Ore.Data.ore.ToString());
                    playerResources.AddOre(tileToDig.Ore.Data.ore);
                    gameTiles.RemoveTile(tileToDig);
                    soundManager.PlaySfx("Destroy", 0.65f);
                }
            }
            else if (digParticles.isPlaying)
            {
                digParticles.Stop();
            }
        }
Ejemplo n.º 2
0
 public void SellOres()
 {
     playerResources.SellAllOres();
     soundManager.PlaySfx("Coin", 1f);
     UpdateAllUI();
 }