/// <summary> /// Death /// function to handle the killing of the enemy /// </summary> public virtual void Die() { m_explodable.explode(); ExplosionForce ef = GameObject.FindObjectOfType <ExplosionForce>(); ef.doExplosion(transform.position); }
void Attack3() { // Typically used for secondary projectile or grenade attack if (attack3SoundTime < Time.time && SFXAttack3) { SFX.PlayOneShot(SFXAttack3); attack3SoundTime = Time.time + timeBetweenProj2; } if (explodeOnAttack3) { ExplosionForce ef = GetComponent <ExplosionForce>(); DamageData ddNPC = Const.SetNPCDamageData(index, Const.aiState.Attack3, gameObject); float take = Const.a.GetDamageTakeAmount(ddNPC); ddNPC.other = gameObject; ddNPC.damage = take; //enemy.GetComponent<HealthManager>().TakeDamage(ddNPC); Handled by ExplodeInner if (ef != null) { ef.ExplodeInner(transform.position + explosionOffset, attack3Force, attack3Radius, ddNPC); } healthManager.ObjectDeath(SFXDeathClip); return; } }
// Use this for initialization void Start() { glitch.enabled = !glitch.enabled; pc2dTransition.TransitionEnter(); GameObject.Find("SwipeController").GetComponent <SwipeControl>().SetMethodToCall(SwipeDetection); StartPlayer.SetActive(true); EndPlayer.SetActive(false); ef = GameObject.FindObjectOfType <ExplosionForce>(); //Debug GV = 3f; ForceAdded = 200; animPlayer.SetBool("isCompleted", false); animCollision.SetBool("isCompleted", false); isCompleted = false; animPlayer.SetInteger("X", 0); animPlayer.SetInteger("Y", -1); animCollision.SetInteger("X", 0); animCollision.SetInteger("Y", -1); firstTime = true; Terbang(Direction.Bawah); StartCoroutine(animJump()); LastDirection = Direction.Bawah; justOnce = false; stepTaken = 0; textMesh_UI.text = stepTaken + ""; }
void OnMouseDown() { _explodable.explode(); ExplosionForce ef = FindObjectOfType <ExplosionForce>(); ef.doExplosion(transform.position); }
private void explodebottle() { _explodable.explode(); ExplosionForce explosionForce = UnityEngine.Object.FindObjectOfType <ExplosionForce>(); explosionForce.doExplosion(base.transform.position); }
public void Death() { GameController.AddPoints(points); _explodable.explode(); ExplosionForce ef = GameObject.FindObjectOfType <ExplosionForce>(); ef.doExplosion(transform.position); }
// Update is called once per frame void OnTriggerEnter2D(Collider2D other) { _explodable.explode(); ExplosionForce ef = GameObject.FindObjectOfType <ExplosionForce>(); ef.doExplosion(transform.position); noise1.Play(); }
private void SpawnExploder() { exploderParent.DestroyChildren(); exploder = Instantiate(exploderPrefab, exploderParent); exploder.transform.localPosition = Vector3.zero; exploder.transform.localRotation = Quaternion.identity; explosionForce = exploder.GetComponent <ExplosionForce>(); }
public IEnumerator waitExplode() { yield return(new WaitForSeconds(0.01f)); _explodable.explode(); ExplosionForce ef = GameObject.FindObjectOfType <ExplosionForce>(); ef.doExplosion(transform.position); }
public void Explode() { Debug.Log("Mouse down"); _explodable.GetComponent <Rigidbody2D>().simulated = true; _explodable.explode(); ExplosionForce ef = GameObject.FindObjectOfType <ExplosionForce>(); ef.doExplosion(transform.position); }
private void OnTriggerEnter2D(Collider2D col2d) { if (col2d.tag == "Player") { isDestroy = true; _explodable.explode(); ExplosionForce ef = GameObject.FindObjectOfType <ExplosionForce>(); ef.doExplosion(transform.position); } }
private void OnTriggerEnter2D(Collider2D col2d) { if (PlayerController.isFeverTouch && col2d.tag == "Player") { wallBreak.isDestroy = true; _explodable.explode(); ExplosionForce ef = GameObject.FindObjectOfType <ExplosionForce>(); ef.doExplosion(transform.position); } }
private void DestroyMatchesAt(int column, int row) { if (allDots[column, row].GetComponent <Dot>().isMatched) { if (breakableTiles[column, row] != null) { //if it does need to break take one hit breakableTiles[column, row].TakeHit(1); if (breakableTiles[column, row].hitPoints <= 0) { breakableTiles[column, row] = null; } } if (goalManager != null) { goalManager.CompareGoal(allDots[column, row].tag.ToString()); goalManager.UpdateGoals(); } if (AllJuice == true || someJuice == true) { GameObject particale = Instantiate(destroyEffect, allDots[column, row].transform.position, Quaternion.identity); Destroy(particale, .5f); } if (AllJuice == true) { allDots[column, row].GetComponent <Dot>().explodable.generateFragments(); ExplosionForce ef = GameObject.FindObjectOfType <ExplosionForce>(); ef.doExplosion(transform.position); } //StartCoroutine(DestroysAfter(column, row, allDots[column, row])); if (AllJuice == true || someJuice == true) { audioSource.enabled = true; if (!audioSource.isPlaying) { audioSource.clip = connectNormal; audioSource.Play(); } } Destroy(allDots[column, row]); //allDots[column, row].GetComponent<Renderer>().enabled = false; scoreManager.IncreaseScore(basePieceValue * streakValue); allDots[column, row] = null; } }
// Update is called once per frame void Update() { time += Time.deltaTime; if (time >= breaktime) { explodable.explode(); ExplosionForce ef = GameObject.Find("Force").GetComponent <ExplosionForce>(); ef.doExplosion(transform.position); breakflg = true; } }
void OnMouseDown() { // Exploding force _explodable.explode(); ExplosionForce ef = GameObject.FindObjectOfType <ExplosionForce>(); ef.doExplosion(transform.position); // Particle and background effects if (explosionFx == true) { explosionFx.transform.position = transform.position; explosionFx.Play(); } else { } if (backgroundVfx == true) { backgroundVfx.gameObject.SetActive(true); } else { } if (BgVfx == true) { BgVfx.SetActive(true); } else { } //OnClick Sound sounds.GetComponent <AudioSource>().Play(); // Displaying next target if (raceSet.transform.childCount > 1) { raceSet.transform.GetChild(1).gameObject.SetActive(true); } if (raceSet.transform.childCount == 1) { finish.SetActive(true); } // Reference for Score display ScoreDisplay.score += 50; ScoreDisplay.backgroundScore += 50; SavingHighScore.scoreForHighScore += 50; }
void OnCollisionEnter2D(Collision2D coll) { // deal damage // spawn explosion light + particles gameObject.GetComponent <MeshRenderer>().enabled = false; GameObject hit = coll.gameObject; // direct hit if (hit.tag == "Player") { var health = hit.GetComponent <PlayerHealth>(); if (health != null) { print("dmg: " + Mathf.Lerp(maxHitDmg, 0, Vector3.Distance(transform.position, srcPos) / maxDist) + ", dist to src: " + Vector3.Distance(transform.position, srcPos)); health.CmdTakeDamage(Mathf.Lerp(maxHitDmg, 0, Vector3.Distance(transform.position, srcPos) / maxDist), source.GetComponent <PlayerInfo>().playerName, source.GetComponent <PlayerInfo>().primaryColor); } } // splash damage GameObject[] players; players = GameObject.FindGameObjectsWithTag("Player"); // a_player meaning generic player, not the current player foreach (GameObject a_player in players) { // do not deal damage to direct hit if (a_player.GetComponent <Rigidbody2D>() != null) { // no splash + direct hit compounding if (a_player != hit.gameObject) { var health = a_player.GetComponent <PlayerHealth>(); if (health != null) { float damage = Mathf.Lerp(Mathf.SmoothStep(0, splashDmgMax, (explosionRadius - Vector3.Distance(transform.position, a_player.transform.position)) / explosionRadius), 0, Vector3.Distance(transform.position, srcPos) / maxDist); health.CmdTakeDamage(damage, source.GetComponent <PlayerInfo>().playerName, source.GetComponent <PlayerInfo>().primaryColor); } } // add explosion force to player hit ExplosionForce expl = a_player.GetComponent <ExplosionForce>(); if (isServer) { expl.RpcAddExplosionForce(explosionForce, transform.position, explosionRadius); } } } SpawnExplosion(); NetworkServer.Destroy(this.gameObject); }
public void Explode() { // Disable collision if (boxCol != null) { boxCol.enabled = false; } if (meshCol != null) { meshCol.enabled = false; } if (sphereCol != null) { sphereCol.enabled = false; } if (capCol != null) { capCol.enabled = false; } explosion = GetComponent <ExplosionForce>(); if (explosion != null) { explosion.ExplodeOuter(transform.position); } if (explosion != null) { explosion.ExplodeInner(transform.position, nearforce, nearradius, null); } GameObject explosionEffect = Const.a.GetObjectFromPool(Const.PoolType.GrenadeFragExplosions); if (explosionEffect != null) { explosionEffect.SetActive(true); explosionEffect.transform.position = transform.position; // TODO: Do I need more than one temporary audio entity for this sort of thing? if (deathSound != null) { GameObject tempAud = GameObject.Find("TemporaryAudio"); tempAud.transform.position = transform.position; AudioSource aS = tempAud.GetComponent <AudioSource>(); if (aS != null) { aS.PlayOneShot(deathSound); } } gameObject.SetActive(false); } //if (explosionEffect != null) Instantiate(explosion, transform.position, Quaternion.identity); //TODO: use pool //Destroy(this.gameObject); //TODO: use pool }
private void OnDrawGizmos() { if (Time.time > ExplosionTriggerTime) { float ExplosionTime = Time.time - ExplosionTriggerTime; float Radius = ExplosionRadius.Evaluate(ExplosionTime); float Force = ExplosionForce.Evaluate(ExplosionTime); Gizmos.color = new Color(0.5f + Force / 500, 0.5f - Force / 500, 0, Mathf.Clamp(Mathf.Abs(Force) / 1000, 0.1f, 0.75f)); Gizmos.DrawSphere(transform.position, Radius); } }
void OnMouseDown() { _explodable.explode(); ExplosionForce ef = GameObject.FindObjectOfType <ExplosionForce>(); ef.doExplosion(transform.position); sounds.GetComponent <AudioSource>().Play(); ScoreIndicator.GetComponent <Text>().text = "+ 500"; ScoreIndicator.GetComponent <Animator>().Play("ScoreGained"); ScoreDisplay.score += 500; ScoreDisplay.backgroundScore += 500; SavingHighScore.scoreForHighScore += 500; }
public override void ProcessFrame(Playable playable, FrameData info, object playerData) { bool alreadyExploded = false; GameObject ARTIFACT = GameObject.Find("ARTIFACT"); var explodable = ARTIFACT.GetComponent <Explodable>(); if (explodable != null && exploded == true && alreadyExploded == false) { alreadyExploded = true; explodable.explode(); ExplosionForce ef = GameObject.FindObjectOfType <ExplosionForce>(); ef.doExplosion(ARTIFACT.transform.position); } }
private void ExplodeBrick(GameObject brick, GameObject icon) { var audioManager = FindObjectOfType <AudioManager>(); audioManager.Play("Stone"); brick.GetComponent <Rigidbody2D>().simulated = true; brick.GetComponent <Explodable>().explode(); ExplosionForce ef = GameObject.FindObjectOfType <ExplosionForce>(); ef.doExplosion(brick.transform.position); icon.GetComponent <Rigidbody2D>().simulated = true; icon.GetComponent <Explodable>().explode(); ef = GameObject.FindObjectOfType <ExplosionForce>(); ef.doExplosion(brick.transform.position); }
void ExplodeOnDeath() { ExplosionForce ef = GetComponent <ExplosionForce> (); DamageData ddNPC = Const.SetNPCDamageData(index, Const.aiState.Attack3, gameObject); float take = Const.a.GetDamageTakeAmount(ddNPC); ddNPC.other = gameObject; ddNPC.damage = take; //enemy.GetComponent<HealthManager>().TakeDamage(ddNPC); Handled by ExplodeInner if (ef != null) { ef.ExplodeInner((transform.position + viewVerticalOffset) + explosionOffset, attack3Force, attack3Radius, ddNPC); } healthManager.ObjectDeath(SFXAttack1); GetComponent <MeshRenderer> ().enabled = false; }
private void StartProcess() { if (pawnflg1 == false) { explodable = titleLogo.GetComponent <Explodable>(); var _big_star = Instantiate(big_star); se_bigstar.Play(); pawnflg1 = true; } if (pawnflg1 == true && pawnflg2 == false) { time += Time.deltaTime; if (time >= TitelBreakTime) { explodable.explode(); ExplosionForce ef = GameObject.Find("Force").GetComponent <ExplosionForce>(); ef.doExplosion(transform.position); se_titlebreak.Play(); time = 0f; pawnflg2 = true; } } if (pawnflg2 == true && pawnflg3 == false) { for (int i = 0; i < star_child.Length; i++) { var _vibe_star = Instantiate(vibe_star); _vibe_star.transform.position = star_child[i].transform.position; } Destroy(constellation); se_vibe.Play(); Invoke("SeFalling", 1.5f); pawnflg3 = true; } }
protected void explode() { if (!alive) { return; } alive = false; float explosionForce = explosionDamage * 200f; float explosionRadius = Mathf.Sqrt(explosionDamage) * 0.7f; Collider2D[] colliders = Physics2D.OverlapCircleAll(transform.position, explosionRadius); Vector2 dir; float wearoff; Damageable damageable; TerrainPiece terrainPiece; foreach (Collider2D coll in colliders) { damageable = coll.GetComponent <Damageable>(); if (damageable != null) { dir = (coll.transform.position - transform.position); wearoff = 1 - (dir.magnitude / explosionRadius); damageable.doDamage(explosionDamage * wearoff); } terrainPiece = coll.GetComponent <TerrainPiece>(); if (terrainPiece != null) { terrainPiece.destroyTerrain(transform.position, explosionRadius * 0.6f); } } var position = transform.position; position.z = explosion.transform.position.z; Instantiate(explosion, position, transform.rotation); ExplosionForce ef = GameObject.FindObjectOfType <ExplosionForce>(); ef.doExplosion(transform.position, explosionForce, explosionRadius); afterExposion(); }
private void OnCollisionEnter2D(Collision2D collision) { if ((collision.gameObject.CompareTag("Ground") || collision.gameObject.CompareTag("Enemy") || collision.gameObject.CompareTag("BreakBlock")) && isThreadBreaked) { if (medKit != null) { medKit.transform.position = transform.position; medKit.SetActive(true); medKit.transform.GetChild(0).GetComponent <Rigidbody2D>().AddForce(new Vector2(0, 0.03f), ForceMode2D.Impulse); } effect.transform.position = transform.position; effect.SetActive(true); explodable.explode(); ExplosionForce ef = GameObject.FindObjectOfType <ExplosionForce>(); ef.doExplosion(transform.position); cameraShake.Shake(0.25f, 0.2f); SoundManagerV2.Instance.PlaySE(8); } }
void Dead() { nav.isStopped = true; // Stop moving //anim.speed = 0f; // Stop animation ai_dead = true; ai_dying = false; rbody.isKinematic = true; currentState = Const.aiState.Dead; firstSighting = false; if (healthManager.gibOnDeath) { ExplosionForce ef = GetComponent <ExplosionForce>(); DamageData ddNPC = Const.SetNPCDamageData(index, Const.aiState.Attack3, gameObject); float take = Const.a.GetDamageTakeAmount(ddNPC); ddNPC.other = gameObject; ddNPC.damage = take; if (ef != null) { ef.ExplodeInner(transform.position + explosionOffset, attack3Force, attack3Radius, ddNPC); } healthManager.ObjectDeath(SFXDeathClip); } }
private void FixedUpdate() { if (Time.time > ExplosionTriggerTime) { if (Time.time > ExplosionEndTime) { Destroy(this); } float ExplosionTime = Time.time - ExplosionTriggerTime; float Radius = ExplosionRadius.Evaluate(ExplosionTime); float Force = ExplosionForce.Evaluate(ExplosionTime); if (Radius <= 0) { return; } Collider[] HitColliders = Physics.OverlapSphere(transform.position, Radius); foreach (Collider HitCollider in HitColliders) { if (HitCollider.gameObject == this.gameObject) { continue; } Rigidbody Body = HitCollider.GetComponent <Rigidbody>(); if (Body == null) { continue; } float BodyDistance = Vector3.Distance(Body.transform.position, transform.position); Body.AddExplosionForce(Force * ForceFalloff.Evaluate(BodyDistance / Radius), ExplosionLocation, 0.0f, 0.0f, ForceMode.Force); } } }
void Start() { _explosionForce = FindObjectOfType <ExplosionForce>(); }
/// <summary> /// Start is called on the frame when a script is enabled just before /// any of the Update methods is called the first time. /// </summary> void Start() { _force = GetComponent <ExplosionForce>(); }