public void OnCharacterDamaged(CharacterDamagedEvent damagedEvent) { if (DamageText != null) { Vector3 randOffset = new Vector3(Random.Range(0f, RandOffset.x), Random.Range(0f, RandOffset.y), 0); GameObject damageTextObj = Instantiate( DamageText, damagedEvent.Position + new Vector3(Offset.x, Offset.y, 0) + randOffset, Quaternion.identity ); DamageText damageText = damageTextObj.GetComponentInChildren <DamageText>(); VertexGradient gradient = damagedEvent.CharacterType == AllyType.Friendly ? new VertexGradient(topAllyColour, topAllyColour, botAllyColour, botAllyColour) : new VertexGradient(topEnemyColour, topEnemyColour, botEnemyColour, botEnemyColour); damageText.SetText(damagedEvent.Damage.ToString(), gradient); } }
static void Prefix(Character __instance, HitData hit) { var evt = new CharacterDamagedEvent(__instance, hit); Longship.Instance.EventManager.DispatchEvent(evt); }