private void Update() { currentFrame = owner.model.frameIndex; for (int i = 0; i < colliders[currentCombo].colliders.Count; i++) { if (colliders[currentCombo].colliders[i] != null) { DamageCollider dc = colliders[currentCombo].colliders[i].GetComponent <DamageCollider>(); if (i != currentFrame) { colliders[currentCombo].colliders[i].SetActive(false); } } } if (colliders[currentCombo].colliders[currentFrame] != null) { if (colliders[currentCombo].colliders[currentFrame].GetComponentInChildren <ShootProjectile>() != null) { ShootProjectile sp = colliders[currentCombo].colliders[currentFrame].GetComponentInChildren <ShootProjectile>(); sp.direction = swingDirection; sp.projectile = projectile; sp.owner = owner; } colliders[currentCombo].colliders[currentFrame].SetActive(true); } }
private void Start() { damageCollider = GetComponent <DamageCollider>(); currentBehavior = enemyBehavior.Idle; Init(); }
public virtual void OnTriggerEnter2D(Collider2D other) { //Debug.Log(other.gameObject.name + " > " + gameObject.name); DamageCollider damageCollider = other.GetComponent <DamageCollider>(); if (damageCollider != null) { if (damageCollider.sender == this) { return; } if (other.gameObject.layer == 10) { float dmg = damageCollider.damage; health_cur -= dmg; UI_WhiteScreen.alpha = 1; //if(flashEffect != null) //flashEffect.scale = 1; Vector3 dir = (other.transform.position - transform.position).normalized; GetComponent <Rigidbody2D>().AddForce(-dir * (30 + (dmg * 50))); return; } } }
public void DamageCollider() { AudioSource a; DamageCollider dc = Instantiate(damageCollider, transform.position, Quaternion.identity).GetComponent <DamageCollider>(); (a = Instantiate(GameManager.instance.genericSoundObject, transform.position, Quaternion.identity).GetComponent <AudioSource>()).clip = breakSound; a.volume = 0.3f; }
// Use this for initialization void Start() { health = maxHealth; sanity = maxSanity; foreach (Collider col in colliderBase.GetComponentsInChildren <Collider>()) { DamageCollider damageThingy = col.gameObject.AddComponent <DamageCollider> (); damageThingy.damageable = this; } }
public void LoadWeaponsDamageCollider(bool isLeft) { if (isLeft) { leftHandDamageCollider = leftHandSlot.currentWeaponModel.GetComponentInChildren <DamageCollider>(); } else { rightHandDamageCollider = rightHandSlot.currentWeaponModel.GetComponentInChildren <DamageCollider>(); } }
public override void PrestartEffect(CharacterData character) { if (prestartEffectActivated) { return; } base.PrestartEffect(character); Socket socket = character.RetrieveSocket(socketName); colliderObject = socket.colliderObject; DamageCollider collider = colliderObject.GetComponent <DamageCollider>(); collider.action = ApplyEffect; }
public void Attack(){ if(a_t <= 0){ Vector3 dir = (target.position - transform.position).normalized; float angle = Mathf.Atan2 (dir.y, dir.x) * Mathf.Rad2Deg; Quaternion rot = Quaternion.AngleAxis (angle + 90, Vector3.forward); DamageCollider dc = Instantiate (swingObject, ZeroZ ((transform.position + (dir * 1.4f))), rot).GetComponent<DamageCollider>(); dc.damage = stats.attackDamage; dc.sender = this; GetComponent<Rigidbody2D>().AddForce(dir * 500); a_t = stats.attackSpeed; } }
private void LoadWeaponDamageCollider(WeaponHolderSlot.SlotTypes slotType) { switch (slotType) { case WeaponHolderSlot.SlotTypes.leftHand: leftHandDamageCollider = leftHandSlot.currentWeaponInstance.GetComponentInChildren <DamageCollider>(); break; case WeaponHolderSlot.SlotTypes.rightHand: rightHandDamageCollider = rightHandSlot.currentWeaponInstance.GetComponentInChildren <DamageCollider>(); break; default: break; } }
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { if (Fighter == null) { Fighter = animator.gameObject.GetComponent <Controll>(); } if (Fighter2 == null) { Fighter2 = animator.gameObject.GetComponent <Controll2>(); } if (soundEff != null) { if (Fighter != null) { Fighter.PlaySound(soundEff); } if (Fighter2 != null) { Fighter2.PlaySound(soundEff); } } if (Fighter != null) { damageColli_Player1 = GameObject.Find("Player1").GetComponentInChildren <DamageCollider>(); if (damageColli_Player1 != null) { damageColli_Player1.Damage = damage; } FighterAnimatorBegin(Fighter.gameObject, "Player2", animator, stateInfo, layerIndex); } if (Fighter2 != null) { DamageCollider damageColli = GameObject.Find("Player2").GetComponentInChildren <DamageCollider>(); if (damageColli_Player2 != null) { damageColli.Damage = damage; } FighterAnimatorBegin(Fighter2.gameObject, "Player1", animator, stateInfo, layerIndex); } }
void OnTriggerEnter(Collider trigger) { //Entering a hurtbox (could also be viewed as a punch being moved toward you) if (trigger.gameObject.tag == "Hurtbox" && stats.invTime <= 0) { //Get the DamageCollider DamageCollider damageCollider = trigger.gameObject.GetComponent <DamageCollider>(); //Apply values if (!anim.GetCurrentAnimatorStateInfo(0).IsName("Guard")) { SoundManager.Instance.PlaySound("Impact" + Random.Range(1, 4).ToString()); Instantiate(hitEffect, damageCollider.transform.position, Quaternion.identity); gameplayManager.WorldImpactEffect(damageCollider.Damage * 0.01f, damageCollider.Damage * 0.005f, damageCollider.Damage * 0.004f); stats.health -= damageCollider.Damage; stats.applicableForce = damageCollider.ImpactForce; } else { SoundManager.Instance.PlaySound("ImpactOnShield"); Instantiate(guardEffect, this.transform.position, Quaternion.identity); gameplayManager.WorldImpactEffect(damageCollider.Damage * 0.01f, damageCollider.Damage * 0.002f, damageCollider.Damage * 0.001f); stats.health -= (damageCollider.Damage) / 3; } stats.invTime = 0.5f; } if (trigger.gameObject.tag == "Health") { stats.health += trigger.gameObject.GetComponent <HealthPickup>().RestoreAmount; stats.health = Mathf.Clamp(stats.health, 0, 100); trigger.gameObject.GetComponent <HealthPickup>().CollectPickup(); } if (trigger.gameObject.tag == "LevelEnd") { gameplayManager.NextLevel(); } }
public void Init() { for (int i = 0; i < colliders[currentCombo].colliders.Count; i++) { if (colliders[currentCombo].colliders[i] != null) { DamageCollider dc = colliders[currentCombo].colliders[i].GetComponent <DamageCollider>(); dc.owner = owner; dc.adc = this; dc.damage = damage; dc.height = height; if (conditions.Count > 0) { dc.conditions.AddRange(conditions); } } } gameObject.SetActive(false); }
void OnTriggerEnter(Collider trigger) { //Entering a hitbox (could also be viewed as a punch being moved toward you) if (trigger.gameObject.tag == "Hitbox" && stats.invTime <= 0) { //Get the DamageCollider DamageCollider damageCollider = trigger.gameObject.GetComponent <DamageCollider>(); //Impact effects SoundManager.Instance.PlaySound("Impact" + Random.Range(1, 4).ToString()); Instantiate(hitSpark, trigger.gameObject.transform.position, Quaternion.identity); gameplayManager.WorldImpactEffect(damageCollider.Damage * 0.01f, damageCollider.Damage * 0.005f, damageCollider.Damage * 0.004f); //Apply values stats.health -= damageCollider.Damage; stats.applicableForce = damageCollider.ImpactForce; stats.invTime = 0.2f; } }
public Damageable GetLooking(float dist) { RaycastHit hit; if (Physics.SphereCast( playerCamera.position, .1f, playerCamera.forward, out hit, dist, Physics.DefaultRaycastLayers, QueryTriggerInteraction.Collide)) { DamageCollider col = hit.collider.gameObject.GetComponentInChildren <DamageCollider> (); if (col != null && col.damageable != self && col.damageable.canBeAttacked) { return(col.damageable); } } return(null); }
public virtual void Start() { DamageCollider = GetComponentInChildren <DamageCollider>(); EntityAnimator = GetComponentInChildren <Animator>(); }
private void LoadRightWeaponDamageCollider() { //accedemos a la clase weaponHolderSlot y recogemos el valor de la var currentWeaponModel para almacenarlo rightHandDamageCollider = rightHandSlot.currentWeaponModel.GetComponentInChildren <DamageCollider>(); }
public void InitDynaMesh(C_Attack attackScript, DamageCollider damageColliderScript, int damageToDeal) { m_attackScript = attackScript; m_damagerColliderScript = damageColliderScript; m_damageTicksToDeal = damageToDeal; }
private void LoadRightWeaponDamageCollider() { rightHandDamageCollider = rightHandSlot.currentWeaponModel.GetComponentInChildren <DamageCollider>(); }
private void LoadLeftWeaponDamageCollider() { leftHandDamageCollider = leftHandSlot.currentWeaponModel.GetComponentInChildren <DamageCollider>(); }