void Awake() { stats = GetComponent <StatBlock>(); maxHealth = stats?.GetValue(StatName.Toughness) ?? maxHealth; currentHealth = maxHealth; stats?.RegisterInitializationCallback(UpdateMaxHealth); }
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); }
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)); } }
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(); } }
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)); } }