通过get / set从另一个脚本中检索值

时间:2015-08-27 19:40:41

标签: c# unity3d

我的代码有点问题。我在Unity中创建的游戏有2个C#脚本:一个名为characterstats.cs,另一个名为enemycontroller.cs

我已声明一个公共变量,该变量在characterstats.cs脚本中设置为getter和setter:

public int deathTriggerSet { get; set; } 

在该脚本中,我将deathTriggerSet值设置为2

if (currentHealth <= 0)
{
    _animator.SetTrigger("DeathTrigger");
    currentHealth = 0;
    GetComponent<Collider>().enabled = true;
    _animator.SetInteger("Death",2);
    _animator.SetBool("Fire",false);
        deathTriggerSet = 2;
    return;
}

现在在enemycontroller.cs脚本中,我有以下内容:

if (inRange && aC == attackCooldown && deathTriggerSet!=2)
{
    Fire();
    aC = 0f;
}

但是我收到以下错误

  

错误CS0103:名称`deathTriggerSet&#39;在当前上下文中不存在

我不想创建一个新实例,所以我有点困惑如何使用getter / setter方法检索此值,除非有更简单的方法来执行此操作?

1 个答案:

答案 0 :(得分:3)

如果您不想创建实例,请将其设为静态

public static int deathTriggerSet { get; set; } 

然后

if (inRange && aC == attackCooldown && CharacterStats.deathTriggerSet!=2)
{
    Fire();
    aC = 0f;
}