Ejemplo n.º 1
0
 private void freezeObject(TornadoObject target)
 {
     if (target.isStuck)   // is stuck
     {
         Freezable f = frozenObjects.Find(x => x.obj == target);
         f.Delete();
         frozenObjects.Remove(f);
         AudioManager.instance.Play("wubAway");
         if (AudioManager.instance.IsPlaying("wub"))
         {
             AudioManager.instance.Stop("wub");
         }
     }
     else     // stuckify the object
     {
         if (frozenObjects.Count >= maxFreezes)
         {
             frozenObjects[0].Delete();
             frozenObjects.RemoveAt(0);
         }
         AudioManager.instance.Play("wub");
         frozenObjects.Add(new Freezable(target,
                                         Instantiate(spawnDisc, target.transform.position, Quaternion.identity, target.transform)));
     }
 }
Ejemplo n.º 2
0
    private void OnCollisionEnter(Collision collision)
    {
        TornadoObject obj = collision.gameObject.GetComponent <TornadoObject>();

        if (obj == null)
        {
            return;
        }
        obj.isStuck = true;
        // Spawn Particles and stuff here.
        Destroy(gameObject);
    }
Ejemplo n.º 3
0
 private void handlePrevTarget()
 {
     if (prevTarget != null)
     {
         curTime++;
         if (curTime / 60.0 > endBuffer)
         {
             curTime             = 0;
             prevTarget          = null;
             targetReticle.Color = Color.white;
         }
         else
         {
             targetReticle.Color = Color.green;
             if (Input.GetMouseButtonDown(0))
             {
                 freezeObject(prevTarget);
             }
         }
     }
 }
Ejemplo n.º 4
0
    private void targetObject()
    {
        RaycastHit hit;

        if (Physics.Raycast(transform.position, transform.forward, out hit, targetDistance, freezeLayer))
        {
            targetReticle.Color = Color.green;
            if (Input.GetMouseButtonDown(0))
            {
                freezeObject(hit.transform.gameObject.GetComponent <TornadoObject>());
            }
            else
            {
                prevTarget = hit.transform.gameObject.GetComponent <TornadoObject>();
                curTime    = 0;
            }
        }
        else
        {
            handlePrevTarget();
        }
    }
Ejemplo n.º 5
0
 public Freezable(TornadoObject obj, GameObject particle)
 {
     this.obj      = obj;
     this.particle = particle;
     obj.isStuck   = true;
 }