void Awake() { player = GameObject.FindWithTag("Player").transform; buzz = new List <BuzzerData> (); for (int i = 0; i < buzzers.Length; i++) { BuzzerData buzzer = new BuzzerData(); buzzer.motor = buzzers[i]; if (!buzzers[i]) { Debug.Log("buzzer not found at " + i, transform); } buzzer.transform = buzzers[i].transform; buzzer.audio = buzzers[i].GetComponent <AudioSource>(); buzzer.sign = i % 2 == 0 ? 1 : -1; buzzer.chargeMaterial = buzzer.transform.Find("buzzer_bot/electric_buzzer_plasma").GetComponent <Renderer>().material; buzzer.spawnPosition = buzzer.transform.position; buzzer.spawnRotation = buzzer.transform.rotation; buzzer.electricBall = buzzer.transform.GetComponentInChildren(typeof(ParticleEmitter)) as ParticleEmitter; buzzer.electricArc = buzzer.electricBall.GetComponent <LineRenderer> (); buzz.Add(buzzer); } buzz[attackerIndex].charged = 0.5f; }
IEnumerator DoElectricArc(BuzzerData buzz) { // Play attack sound buzz.audio.clip = zapSound; buzz.audio.Play (); buzz.didChargeEffect = false; // Show electric arc buzz.electricArc.enabled = true; // Offset electric arc texture while it's visible float stopTime = Time.time + 0.2f; while (Time.time < stopTime) { buzz.electricArc.SetPosition (0, buzz.electricArc.transform.position); buzz.electricArc.SetPosition (1, player.position); buzz.electricArc.sharedMaterial.mainTextureOffset = new Vector2(Random.value, buzz.electricArc.sharedMaterial.mainTextureOffset.y); yield return 0; } // Hide electric arc buzz.electricArc.enabled = false; }
void Awake() { player = GameObject.FindWithTag ("Player").transform; buzz = new List<BuzzerData> (); for (int i = 0; i<buzzers.Length; i++) { BuzzerData buzzer = new BuzzerData(); buzzer.motor = buzzers[i]; if (!buzzers[i]) Debug.Log ("buzzer not found at "+i, transform); buzzer.transform = buzzers[i].transform; buzzer.audio = buzzers[i].GetComponent<AudioSource>(); buzzer.sign = i % 2 == 0 ? 1 : -1; buzzer.chargeMaterial = buzzer.transform.Find("buzzer_bot/electric_buzzer_plasma").GetComponent<Renderer>().material; buzzer.spawnPosition = buzzer.transform.position; buzzer.spawnRotation = buzzer.transform.rotation; buzzer.electricBall = buzzer.transform.GetComponentInChildren (typeof( ParticleEmitter)) as ParticleEmitter; buzzer.electricArc = buzzer.electricBall.GetComponent<LineRenderer> (); buzz.Add (buzzer); } buzz[attackerIndex].charged = 0.5f; }
IEnumerator DoElectricArc(BuzzerData buzz) { // Play attack sound buzz.audio.clip = zapSound; buzz.audio.Play(); buzz.didChargeEffect = false; // Show electric arc buzz.electricArc.enabled = true; // Offset electric arc texture while it's visible float stopTime = Time.time + 0.2f; while (Time.time < stopTime) { buzz.electricArc.SetPosition(0, buzz.electricArc.transform.position); buzz.electricArc.SetPosition(1, player.position); buzz.electricArc.sharedMaterial.mainTextureOffset = new Vector2(Random.value, buzz.electricArc.sharedMaterial.mainTextureOffset.y); yield return(0); } // Hide electric arc buzz.electricArc.enabled = false; }