예제 #1
0
    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;
    }
예제 #2
0
    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;
    }
예제 #3
0
    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;
    }
예제 #4
0
    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;
    }