示例#1
0
 void Awake()
 {
     stats         = GetComponent <StatBlock>();
     maxHealth     = stats?.GetValue(StatName.Toughness) ?? maxHealth;
     currentHealth = maxHealth;
     stats?.RegisterInitializationCallback(UpdateMaxHealth);
 }
示例#2
0
    public void UpdateMaxHealth(StatBlock s)
    {
        float value = s.GetValue(StatName.Toughness);

        if (value == -1)
        {
            return;
        }
        stats?.GetStat(StatName.Toughness)?.RegisterStatChangeCallback(UpdateMaxHealth);
        stats = s;
        UpdateMaxHealth(value);
    }
示例#3
0
 public override void OnInspectorGUI()
 {
     if (statBlock == null || !statBlock.HasStat(StatName.Agility))
     {
         base.OnInspectorGUI();
     }
     else
     {
         EditorGUILayout.LabelField("MoveSpeed is being set by the StatBlock");
         EditorGUILayout.LabelField("Value: " + statBlock.GetValue(StatName.Agility));
         EditorGUILayout.LabelField(string.Format("({0},{1})", playerMovement.direction.x, playerMovement.direction.y));
     }
 }
示例#4
0
 public override void OnInspectorGUI()
 {
     if (EditorApplication.isPlaying || EditorApplication.isPaused)
     {
         foreach (StatName s in Enum.GetValues(typeof(StatName)))
         {
             value = statBlock.GetValue(s);
             if (value != -1)
             {
                 EditorGUILayout.LabelField(string.Format("{0}:{1}", s.ToString(), value));
             }
         }
     }
     else
     {
         base.OnInspectorGUI();
     }
 }
示例#5
0
 public override void OnInspectorGUI()
 {
     if (EditorApplication.isPlaying || EditorApplication.isPaused)
     {
         EditorGUILayout.LabelField(string.Format("{0}/{1}", baseHealth.GetCurrentHealth(), baseHealth.GetMaxHealth()));
         if (GUILayout.Button("Take 1 Damage"))
         {
             baseHealth.Damage(1, null, null);
         }
         return;
     }
     if (statBlock == null || !statBlock.HasStat(StatName.Toughness))
     {
         base.OnInspectorGUI();
     }
     else
     {
         EditorGUILayout.LabelField("Max Health is being set by the StatBlock");
         EditorGUILayout.LabelField("Value: " + statBlock.GetValue(StatName.Toughness));
     }
 }