コード例 #1
0
    protected override void OnCollisionEnter2D(Collision2D col)
    {
        if (col.gameObject.GetComponent <TongueJoint>())
        {
            return;
        }
        if (col.gameObject.GetComponent <ProjectileController>())
        {
            return;
        }

        //if (vehicle.isColliding.Contains(col.gameObject)) return;
        //vehicle.isColliding.Add(col.gameObject);

        AffectVisitor   damager   = col.gameObject.GetComponent <AffectVisitor>();
        AffectVisitable damagable = gameObject.GetComponent <AffectVisitable>();

        if (damager == null)
        {
            //Debug.LogWarning("Non-damager " + col.gameObject.name + " collided with damageable " + gameObject.name + ", please implement AffectVisitor method on it, or exclude from check on this damagable. ");
            return;
        }

        damagable.AcceptAffectFrom(damager);
    }
コード例 #2
0
    public override void AcceptAffectFrom(AffectVisitor damager)
    {
        print("doh");
        int damageAmount = damager.CauseAffectTo(this);

        health -= damageAmount;
    }
コード例 #3
0
    public override void AcceptAffectFrom(AffectVisitor damager)
    {
        int damageAmount = damager.CauseAffectTo(this);

        health -= damageAmount;

        this.stats.damageTaken += damageAmount;
        //EntityControlScript entity = (EntityControlScript)damager;
        //GunnerControlScript freddy = //entity.transform.parent.GetComponent<FreddyHuggerController>();
        // freddy.stats.damageDelt += damageAmount;
        //freddy.stats.shotsConnected++;
    }
コード例 #4
0
    void ReceiveDamage(Collision2D col)
    {
        if (!col.gameObject.GetComponent <ProjectileController>())
        {
            return;
        }

        AffectVisitor   damager   = col.gameObject.GetComponent <AffectVisitor>();
        AffectVisitable damagable = gameObject.GetComponent <AffectVisitable>();

        damagable.AcceptAffectFrom(damager);
    }
コード例 #5
0
    protected override void OnCollisionEnter2D(Collision2D col)
    {
        if (!col.gameObject.GetComponent <ProjectileController>())
        {
            return;
        }

        AffectVisitor   damager   = col.gameObject.GetComponent <AffectVisitor>();
        AffectVisitable damagable = gameObject.GetComponent <AffectVisitable>();

        damagable.AcceptAffectFrom(damager);
    }
コード例 #6
0
    public override void AcceptAffectFrom(AffectVisitor damager)
    {
        int damageAmount = damager.CauseAffectTo(this);

        Health         -= damageAmount;
        vehicle.Health -= damageAmount * damageMultiplyer[level];

        vehicle.UpdateHealthText();

        if (vehicle.Health <= 0)
        {
            Destroy(vehicle.gameObject);
        }

        /*
         *      if (damageAmount != 0) {
         *              print("health of : " + this + " is: " + health);
         *              vehicle.ReportHealth();
         *      }
         */
    }
コード例 #7
0
 public override void AcceptAffectFrom(AffectVisitor damager)
 {
     //please see the version of this method in CellController
 }
コード例 #8
0
 public abstract void AcceptAffectFrom(AffectVisitor visitor);
コード例 #9
0
 //do nothing
 public override void AcceptAffectFrom(AffectVisitor damager)
 {
 }