Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考
此代码仅为较上一P有所改变的代码
【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili
Stat.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[System.Serializable]
public class Stat
{
[SerializeField]private int baseValue;
public List<int> modifiers;
public int GetValue()
{
int finalValue = baseValue;
//提供一种可以变化伤害的方式
foreach (int modifier in modifiers)
{
finalValue += modifier;
}
return finalValue;//采用函数返回值的方式提供数据
}
public void AddModifier(int _modifier)
{
modifiers.Add(_modifier);
}
public void RemoveModifier(int _modifier)
{
modifiers.RemoveAt(_modifier);
}
}
CharacterStats.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CharacterStats : MonoBehaviour
{
public Stat damage;
public Stat maxHealth;
[SerializeField]private int currentHealth;
void Start()
{
currentHealth = maxHealth.GetValue();
damage.AddModifier(4);
}
public void TakeDamage(int _damage)
{
currentHealth -= _damage;
}
}