예제 #1
0
 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);
     }
 }
예제 #2
0
        static void Prefix(Character __instance, HitData hit)
        {
            var evt = new CharacterDamagedEvent(__instance, hit);

            Longship.Instance.EventManager.DispatchEvent(evt);
        }