Код: Выделить всё
using UnityEngine;
using TMPro;
public class ScoreManager : MonoBehaviour
{
public ScoreManager scoreManager;
public int score = 0; // Player's score
public TextMeshProUGUI scoreText; // Reference to the TextMeshPro text component
// Method to add points
public void AddPoints(int points)
{
score += points;
Debug.Log("Added points: " + points + ", New Score: " + score); // Debug-Log hinzufügen
UpdateScoreText();
}
// Method to update the score display
private void UpdateScoreText()
{
scoreText.text = score.ToString();
}
}
Код: Выделить всё
using UnityEngine;
public class Enemy : MonoBehaviour
{
private int currentHealth; // Current health of the enemy
private ScoreManager scoreManager;
private Transform playerTransform; // Reference to the player's transform
private int expAmount;
public EnemyData enemyData; // Reference to the ScriptableObject
private Animator anim;
public EnemyManager enemyManager; // Reference to the EnemyManager
public static CountdownSlider instance;
public ExperienceManager experienceManager; // Reference to ExperienceManager
private void Start()
{
anim = GetComponent(); // Get Animator component
}
// Initialize method to set references
public void Initialize(ScoreManager scoreManager, EnemyManager enemyManager, Transform player, ExperienceManager experienceManager)
{
this.scoreManager = scoreManager; // Set the reference to ScoreManager
this.enemyManager = enemyManager; // Set the reference to EnemyManager
this.experienceManager = experienceManager; // Corrected this line
this.playerTransform = player; // Set the player reference
currentHealth = enemyData.health; // Initialize current health
expAmount = enemyData.expAmount;
}
public void Die()
{
if (enemyData = null)
{
if (scoreManager = null)
{
scoreManager.AddPoints(enemyData.pointsOnDeath);
}
if (experienceManager = null)
{
experienceManager.AddExperience(expAmount);
}
DropItems();
}
if (enemyManager != null)
{
enemyManager.RemoveEnemy(this);
}
Destroy(gameObject);
}
Код: Выделить всё
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
public class ExperienceManager : MonoBehaviour
{
public static ExperienceManager Instance;
[Header("Experience")]
[SerializeField] AnimationCurve experienceCurve;
int currentLevel, totalExperience;
int previousLevelsExperience, nextLevelsExperience;
[Header("Interface")]
[SerializeField] TextMeshProUGUI levelText;
[SerializeField] TextMeshProUGUI experienceText;
[SerializeField] Image experienceFill;
void Start()
{
UpdateLevel();
}
void Update()
{
// Removed the AddExperience call from Update
}
public void AddExperience(int amount)
{
totalExperience += amount;
CheckForLevelUp();
UpdateInterface();
}
void CheckForLevelUp()
{
if (totalExperience >= nextLevelsExperience)
{
currentLevel++;
UpdateLevel();
// Start level up sequence... Possibly vfx?
}
}
void UpdateLevel()
{
previousLevelsExperience = (int)experienceCurve.Evaluate(currentLevel);
nextLevelsExperience = (int)experienceCurve.Evaluate(currentLevel + 1);
UpdateInterface();
}
void UpdateInterface()
{
int start = totalExperience - previousLevelsExperience;
int end = nextLevelsExperience - previousLevelsExperience;
levelText.text = currentLevel.ToString();
experienceText.text = start + " exp / " + end + " exp";
experienceFill.fillAmount = (float)start / (float)end;
}
}
Код: Выделить всё
using UnityEngine;
[CreateAssetMenu(fileName = "NewEnemyData", menuName = "Enemy Data")]
public class EnemyData : ScriptableObject
{
public GameObject enemyPrefab; // Prefab des Gegners
public int health; // Gesundheit des Gegners
public float speed; // Bewegungsgeschwindigkeit des Gegners
public int pointsOnDeath; // Punkte, die der Spieler erhält, wenn der Gegner stirbt
public GameObject[] dropItems; // Items, die der Gegner fallen lässt
public float spawnChance; // Wahrscheinlichkeit, dass dieser Gegner spawnt
public int damage; // Schaden, den dieser Gegner verursacht
public int expAmount; // Erfahrungspunkte die ein Gegner gibt.
}
я пробую blackbox.ai youtube google
Подробнее здесь: https://stackoverflow.com/questions/791 ... ork-update
Мобильная версия