public DamageReport(DamageFilter filter, IController control, Transform weapon, string desc)
 {
     outDamageFilter       = filter;
     controller            = control;
     damageSourceTransform = weapon;
     description           = desc;
     // possibly look in weapon for contoller is controller = null
 }
Ejemplo n.º 2
0
    public override void OnDamage(DamageFilter filter, float amount)
    {
        var obj = filter.gameObject;

        obj.GetComponent <AI>().Flash(flashDuration);

        if (obj.GetComponent <Health>().Amount > 0)
        {
            SoundManager.PlaySound(Sounds.EnemyFleshHit);
        }
    }
Ejemplo n.º 3
0
 public DamageFilter FilterDamage(DamageFilter filter, bool highPriority)
 {
     if (highPriority)
     {
         this.damageFilters.Insert(0, filter);
     }
     else
     {
         this.damageFilters.Add(filter);
     }
     return(filter);
 }
Ejemplo n.º 4
0
    public void Start()
    {
        ai                          = GetComponent <AI>();
        movement                    = GetComponent <Movement>();
        attackDirection             = GetComponentInChildren <ShieldDroneAttackDirection>();
        damageFilter                = GetComponent <DamageFilter>();
        damageFilter.IsInvulnerable = true;

        shield            = shieldObject.GetComponent <Shield>();
        shield.ShieldTime = 0.5f;

        pathFinding = GetComponent <PathFindingTasks>();
        pathFinding.SetMovementParameters(shieldDroneStats.Speed, float.MaxValue);
        pathFinding.SetPathParameters(new PathParameters(false, 0.05f));
    }
Ejemplo n.º 5
0
 public void UnfilterDamage(DamageFilter filter)
 {
     this.damageFilters.Remove(filter);
 }