public virtual void OnHealthChanged(GizLib.IntValueChange change) { if (change.value < change.lastValue) { StartCoroutine(DamagePhase(damageData.hitDuration)); } }
protected void OnHealthChanged(GizLib.IntValueChange change) { if (change.value < 1) { SelfDestruct(true); } }
public void OnValueChanged(GizLib.IntValueChange change) { var currentDamageLevel = sheetIndex; if (change.value < triggerIncrement) { sheetIndex = 2; } else if (change.value == change.maxValue) { sheetIndex = 0; } else { sheetIndex = 3 - (int)(change.value / triggerIncrement); if (change.value % triggerIncrement > 0) { sheetIndex--; } if (sheetIndex < 0) { sheetIndex = 0; } } if (sheetIndex != currentDamageLevel) { Reskin(); } }
private void OnHealthChange(GizLib.IntValueChange intValue) { if (intValue.value <= 0 && EnemySpawner.Instance) { for (int i = 0; i < spawn.Count; i++) { var distance = Vector3.Distance(transform.position, Vector3.zero) + (0.555f * 2.5f); var en = EnemySpawner.Instance.SpawnEnemy(spawn[i], transform.position, Quaternion.Euler(0, 0, transform.eulerAngles.z)); float offset = 45; if (i % 2 == 0) { offset *= -1f; en.transform.localScale = new Vector3(en.transform.localScale.x * -1, en.transform.localScale.y, en.transform.localScale.z); } var degree = transform.eulerAngles.z + offset + 90; var target = Mathfx.GetPointOnCircle(distance, degree, Vector3.zero); en.mover.StartMovement(MoveType.Detour, en.mover.speed * 20, target); en.mover.onDetour.AddListener(en.unitGraphics.OnActivateTrigger); en.transform.eulerAngles = new Vector3(0, 0, transform.eulerAngles.z + offset); } } }