private void OnTriggerEnter2D(Collider2D other) { DamageDealer damageDealer = other.gameObject.GetComponent <DamageDealer>(); ScoreKeeper scoreKeeper = other.gameObject.GetComponent <ScoreKeeper>(); // tries below to see if it a red or a blue laser that hit the gem try { LaserGreen laserGreen = other.gameObject.GetComponent <LaserGreen>(); // green laser on green gem process if (laserGreen.laserIdentifier == 1) { ProcessGreenHit(damageDealer); } } catch { } try { LaserRed laserRed = other.gameObject.GetComponent <LaserRed>(); // red laser on green gem process if (laserRed.laserIdentifier == 2) { FindObjectOfType <ScoreKeeper>().ResetMultiplier(); //Debug.Log("red laser to green gem"); Debug.Log(FindObjectOfType <ScoreKeeper>().GetMultiplier()); } } catch { } try { HealthBottomShredder bottomShredder = other.gameObject.GetComponent <HealthBottomShredder>(); // process for when the gem hits the shredder if (bottomShredder.shredderidentifier == 3) { FindObjectOfType <ScoreKeeper>().ResetMultiplier(); Destroy(gameObject); Debug.Log(FindObjectOfType <ScoreKeeper>().GetMultiplier()); } } catch { } }
private void OnTriggerEnter2D(Collider2D other) { DamageDealer damageDealer = other.gameObject.GetComponent <DamageDealer>(); ScoreKeeper scoreKeeper = other.gameObject.GetComponent <ScoreKeeper>(); try { LaserGreen laserGreen = other.gameObject.GetComponent <LaserGreen>(); // process for when green laser hits red if (laserGreen.laserIdentifier == 1) { FindObjectOfType <ScoreKeeper>().ResetMultiplier(); //Debug.Log("green laser to red gem"); Debug.Log(FindObjectOfType <ScoreKeeper>().GetMultiplier()); } } catch { } try { LaserRed laserRed = other.gameObject.GetComponent <LaserRed>(); if (laserRed.laserIdentifier == 2) { ProcessRedHit(damageDealer); } } catch { } try { HealthBottomShredder bottomShredder = other.gameObject.GetComponent <HealthBottomShredder>(); if (bottomShredder.shredderidentifier == 3) { FindObjectOfType <ScoreKeeper>().ResetMultiplier(); Destroy(gameObject); Debug.Log(FindObjectOfType <ScoreKeeper>().GetMultiplier()); } } catch { } }
public void SpawnLaser() { BattleExit BE = TextBox.GetComponent <BattleExit> (); SpriteRenderer LG = LaserGreen.GetComponent <SpriteRenderer> (); HealthBar_Enemy HB = EnemyH.GetComponent <HealthBar_Enemy> (); if (BE.InBattle) { if (LaserSpawn) { LG.enabled = true; Vector3 LaserPosition = new Vector3(Random.Range(spawnLU.position.x, spawnRU.position.x), spawnLU.position.y, 0); LaserSpawn = false; GameObject LaserClone = (GameObject)Instantiate(LaserGreen, LaserPosition, Quaternion.identity); //Rigidbody2D LCRB = LaserClone.AddComponent <Rigidbody2D>()as Rigidbody2D; //LCRB.AddForce (LaserForce); LaserClone.transform.SetParent(Attack1Parent); Lasers.Add(LaserClone); for (int i = 0; i < Lasers.Count; i++) { LaserGreen L = Lasers [i].GetComponent <LaserGreen> (); //LaserClone.transform.SetParent (LaserGreenParent); LaserClone.name = "Laser " + Lasers.IndexOf(LaserClone); LaserClone.tag = "LaserClone"; L.Tm = 0; } // GameObject LaserC=GameObject.f } } int n = Lasers.Count; for (int i = 0; i < n; i++) { if (Lasers.Count != 0) { Vector3 LaserPosition = new Vector3(Random.Range(spawnLU.position.x, spawnRU.position.x), Random.Range(spawnLU.position.y, spawnRU.position.y), 0); SpriteRenderer S = Lasers[i].GetComponent <SpriteRenderer> (); LaserGreen L = Lasers [i].GetComponent <LaserGreen> (); if (HB.CurrentHealth != 0) { speed = (1 / (HB.CurrentHealth + 1)); } Lasers [i].transform.position += LaserForce * speed * Time.deltaTime; if (Lasers [i].transform.position.y < spawnLD.position.y) { Lasers [i].transform.position = LaserPosition; S.enabled = false; } else if (Lasers [i].transform.position.y >= spawnLU.position.y) { S.enabled = false; } else if (Lasers [i].transform.position.y < spawnLU.position.y) { S.enabled = true; } if (CancelSpawn) { CancelSpawn = false; CancelSpawn = true; Destroy(Lasers [0]); Lasers.Remove(Lasers [0]); Debug.Log(Lasers.Count); } } } }