// receive damage and notify handlers public void ApplyDamage(float amount, Vector3 position, Vector3 force, DamageDealer dealer) { if (handlers == null || handlers.Length == 0) { Debug.LogError("No DamageHandlers available to receive damage: " + this); } else { foreach (DamageHandler d in handlers) { d.HandleDamage(amount, position, force, dealer); } } }
// Extension method for easily applying damage to the game object owning a component. Returns true if collider is damageable // Ex: bool damageable = collider.ApplyDamage(...); public static bool ApplyDamage(this Component component, float amount, Vector3 position, Vector3 force, DamageDealer dealer) { DamageReceiver receiver = (DamageReceiver) component.GetComponentInParent(typeof(DamageReceiver)); if (receiver == null) { return false; } else { receiver.ApplyDamage(amount, position, force, dealer); return true; } }
// Fire weapon, if not in the delay interval public bool FireWeapon(Vector3 position, Vector3 direction, DamageDealer dealer) { if (fireIntervalRemaining <= 0f) { Vector3 fireDirection = RandomDirectionOffset(direction, config.sprayAngle); ProjectileBehaviour projectile = (ProjectileBehaviour)PoolManager.Instance.GetPooledObject(config.projectilePrefab); projectile.InitializeAndActivate(position, fireDirection, dealer); // set the interval to prevent firing immediately on the next frame fireIntervalRemaining = config.fireInterval; return true; } else { return false; } }
// Initialize bullet with direction and dealer, then activate public void InitializeAndActivate(Vector3 initialPosition, Vector3 direction, DamageDealer dealer) { // validate radius if (useRadius && radius <= 0f) { Debug.LogError("Can't use radius of 0 or less: " + radius + ", ignoring", this); useRadius = false; } // move forward by radius if applicable, prevents unexpected collisions if (useRadius) { transform.position = initialPosition + direction * radius; } else { transform.position = initialPosition; } this.direction = direction; this.dealer = dealer; alive = true; Activate(); }
void Awake() { damageDealer = GetComponent<DamageDealer>(); damageTaker = GetComponent<DamageTaker>(); enemyAnimator = GetComponent<EnemyAnimator>(); }
public override void Hitted(GameObject objectWhichHittedMe, DamageDealer damageDealer) { Damage(damageDealer.GetDamage(), objectWhichHittedMe); }
private void OnTriggerEnter(Collider other) { DamageDealer damageDealer = other.gameObject.GetComponent <DamageDealer>(); Destroy(damageDealer); }
public void OnTakeDamage(DamageDealer dealer, float dmg, Vector2 dealPoint) { OnDie(); }
public void HandleDamage(float amount, Vector3 position, Vector3 force, DamageDealer dealer) { if (!alive) { rigidbody.AddForceAtPosition(force, position, ForceMode.Acceleration); } }
private void OnCollisionEnter(Collision collision) { DamageDealer damage = collision.gameObject.GetComponent <DamageDealer>(); HandleDamage(damage); }
private void BlinkOnHit(DamageDealer dealer, DamageTaker taker) { GameManager.CameraShake.ShakeCamera(this.hitShakeDuration, this.hitShakeDistance); this.StartCoroutine(this.Blink(taker.InvulnerabilityDuration)); }
private void Awake() { audioSource = GetComponent <AudioSource>(); damageDealer = GetComponent <DamageDealer>(); }
public bool CheckDamageDealer(DamageDealer dealer) { bool ok = false; if(this.IsAttack() && dealer.baseAttack) ok = true; else if(this.IsSkill()) { for(int i=0; i<dealer.skillID.Length; i++) { if(dealer.skillID[i] == this.useID) ok = true; } } else if(this.IsItem()) { for(int i=0; i<dealer.itemID.Length; i++) { if(dealer.itemID[i] == this.useID) ok = true; } } return ok; }
void Awake() { damageDealer = GetComponent<DamageDealer>(); damageTaker = GetComponent<DamageTaker>(); audioSource = GetComponent<AudioSource>(); }
public void Setup() { testObject = testHelper.InstantiateScript<DamageDealer>(); collider2D = testHelper.InstantiateScript<BoxCollider2D> (); playerStatus = collider2D.gameObject.AddComponent<PlayerStatusStub> (); playerMovement = collider2D.gameObject.AddComponent<PlayerMovementStub> (); }
public void HandleDamage(float amount, Vector3 position, Vector3 force, DamageDealer dealer) { wasDamaged = true; }
protected void DealDamage(Damage damage, bool stopRegen, DamageDealer damageDealer) { if (damage.Magnitude == 0 || this == null || deathHandler.IsDead) { return; } Stat damaged = stats[damage.Type.Damages()]; if (damaged.Current == damaged.Max) { damaged.NextRegenTick = Time.time + damaged.SingleTickRegenTimer + (stopRegen ? damaged.RegenCooldown : 0f); } else if (stopRegen) { damaged.NextRegenTick += damaged.RegenCooldown; } damaged.Current -= damage.Magnitude; damaged.AllocatedRegen -= damage.Magnitude; if (damaged.Current <= 0) { if (damageDealer != null && damageDealer.Owner != null) { CharacterEventListener killer = damageDealer.Owner.GetComponent<CharacterEventListener>(); if (killer != null) { killer.Broadcast(CharacterEvents.Kill, new KillEvent(){Other = gameObject}); } } listener.Broadcast(CharacterEvents.Die, null); } else { if (GermaniumTracker.Singleton()[target.Team] > damaged.Max - damaged.AllocatedRegen) { GermaniumTracker.Singleton()[target.Team] -= damaged.Max - damaged.AllocatedRegen; damaged.AllocatedRegen = damaged.Max; } else { damaged.AllocatedRegen += GermaniumTracker.Singleton()[target.Team]; GermaniumTracker.Singleton()[target.Team] = 0; awaitingRegen.Enqueue(damage.Type.Damages()); } } }
public void AddHealth(DamageDealer damageDealer) { health += damageDealer.GetDamage(); }
private void ProcessHit(DamageDealer damageDealer) { health -= damageDealer.GetDamage(); ClearScene(); }
private void OnTriggerEnter2D(Collider2D other) { DamageDealer damageDealer = other.gameObject.GetComponent <DamageDealer>(); ProcessHit(damageDealer); }
private void EnemyHit(DamageDealer damageDealer) { GameObject enemyHit = Instantiate(enemyHitPrefab, damageDealer.transform.position, Quaternion.identity) as GameObject; Destroy(enemyHit, hitTime); }
public void TakeHit(DamageDealer damager) { Debug.Log("Take hit"); if (Network.isClient) { return; } int dmg = damager.GetComponent<DamageDealer>().damage; TakeDamage(dmg); }
private void ProcessHit(DamageDealer damageDealer) { TakeDamage(damageDealer.GetDamage()); }
private void OnTriggerEnter(Collider other) { DamageDealer damage = other.gameObject.GetComponent <DamageDealer>(); HandleDamage(damage); }
public override void Awake() { blackboard = DamageDealer.FindObjectT <Blackboard> (gameObject); }
private void Start() { _damageDealer = GetComponent <DamageDealer>(); }
private void OnTriggerEnter2D(Collider2D collider) { DamageDealer damageDealer = collider.gameObject.GetComponent <DamageDealer>(); GetDamagedByProjectile(damageDealer); }
private void Start() { damageDealer = this.GetComponent <DamageDealer>(); }
void RaiseHeartRate(DamageDealer dealer, int damage) { RaiseHeartRate(damage); }
protected override void ResolveDamage(DamageDealer damageDealer) { float d = (weakPoint) ? damageDealer.damage * 2 : damageDealer.damage; dino.CurrentHealth -= d; }
// handle damage public void HandleDamage(float amount, Vector3 position, Vector3 force, DamageDealer dealer) { AddHealth(-amount); }
private void OnCollisionEnter2D(Collision2D collision) { DamageDealer damageDealer = collision.gameObject.GetComponent <DamageDealer>(); GetDamaged(damageDealer); }
public override bool CanBeHit(DamageDealer damageDealer) { return(true); }
private void ProcessHit(DamageDealer damageDealer) { GetComponent <Health>().DealDamage(damageDealer.GetDamage()); damageDealer.Hit(); }
//reduces health whenever collides with a gameObject //which has a DamageDealer component public void OnTriggerEnter2D(Collider2D objects) { DamageDealer damageDealerObstacle = objects.gameObject.GetComponent <DamageDealer>(); CollideWith(damageDealerObstacle); }
private void OnCollisionEnter2D(Collision2D other) { DamageDealer damageDealer = other.gameObject.GetComponent <DamageDealer>(); TakeDamage(damageDealer); }
public void TakeDamage(DamageDealer dealer, float dmg, Vector2 pos) { OnTakeDamage(dealer, dmg, pos); }
//Event that triggers only when the player takes damage private void OnTakeDamage(DamageDealer damageDealer) { healthBar.fillAmount = _health.currentHealth / 100; _audioSource.PlayOneShot(hurtSound); }
void Start() { damageDealer = GetComponent <DamageDealer>(); StartCoroutine(DamageDown()); }
private void OnTriggerEnter2D(Collider2D otherthingthatjustbumpedintous) { DamageDealer damageDealer = otherthingthatjustbumpedintous.gameObject.GetComponent <DamageDealer>(); death(damageDealer); }
// Use this for initialization void Awake() { damageDealer = GetComponent <DamageDealer>(); }
private void OnTriggerEnter2D(Collider2D collision) { DamageDealer damageDealer = collision.gameObject.GetComponent <DamageDealer>(); ProcessHit(collision, damageDealer); }
void Start() { dmg = GetComponent <DamageDealer>(); }
public override bool CanBeHit(DamageDealer damageDealer) { return(health > 0); }
void Start() { stats = GetComponent<CharacterStats> (); dmgDealer = GetComponentInChildren<DamageDealer> (); weaponTransform = transform.Find ("CharacterHead").Find ("RightWep"); wep = new Weapon (); //TODO - GET VARIABLES FOR THE DEFAULT POSITION SEPARATE FROM SWINGING YOUR WEP currentSwingRot = idleRot; weaponTransform.localPosition = idlePos; }