Example #1
0
    private void ShootMagic(GameObject magicObject, Transform createPoint)
    {
        GameObject _magicObject = null;

        if (magicObject == thunderObject)
        {
            tempMagicGameObjectList = ShootThunder(magicObject);
        }
        else if (magicObject == shieldObject)
        {
            Vector3 tmpPos = createPoint.position;
            _magicObject = Instantiate(magicObject, tmpPos, Quaternion.identity);
            //tempMagicGameObjectList.Add(_magicObject);
        }
        else if (magicObject == reflectObject)
        {
            _magicObject = Instantiate(magicObject, createPoint.parent.transform.position, Quaternion.identity);
            //tempMagicGameObjectList.Add(_magicObject);
        }
        else
        {
            if (magicObject != null)
            {
                _magicObject = Instantiate(magicObject, createPoint.position, createPoint.rotation);
                tempMagicGameObjectList.Add(_magicObject);
            }
            else
            {
                Debug.Log("Did not act Magic");
            }
        }

        if (tempMagicGameObjectList.Count > 0)
        {
            for (int i = 0; i < tempMagicGameObjectList.Count; i++)
            {
                if (tempMagicGameObjectList[i])
                {
                    MagicObject _script = tempMagicGameObjectList[i].GetComponent <MagicObject>();
                    tempMagicGameObjectList[i].GetComponent <Rigidbody>().AddForce(tempMagicGameObjectList[i].transform.forward * _script.Speed);
                }
            }
        }
    }
Example #2
0
    void SetMagic(bool state)
    {
        MagicObject magic = GetComponent <MagicObject>();

        if (magic == null)
        {
            return;
        }
        magic.isOwned = true;

        if (state)
        {
            magic.AddSigil(Sigil.Fire);
        }
        else
        {
            magic.RemoveSigil(Sigil.Fire);
        }
    }
Example #3
0
 public void OnFinger(int type)
 {
     animObjet.ResetTrigger("reset");
     if (type == 3 || type == 5)
     {
         animBras.ResetTrigger("down");
         animObjet.ResetTrigger("down");
         animBras.SetTrigger("up");
         animObjet.SetTrigger("up");
         animObjet.ResetTrigger("fade");
         soundWoosh.GetComponent <AudioSource>().Play();
         bool isGood = playerActions.IsGood(2);
         if (isGood)
         {
             soundWin.GetComponent <AudioSource>().Play();
         }
         else
         {
             soundFail.GetComponent <AudioSource>().Play();
         }
         MagicObject o = GameObject.Find("magicObject").GetComponent <MagicObject>();
         if (compteur != null)
         {
             compteur.setRed();
         }
         o.Transformer(isGood);
     }
     else if (type == 1 || type == 2)
     {
         animBras.ResetTrigger("up");
         animObjet.ResetTrigger("up");
         animBras.SetTrigger("down");
         animObjet.SetTrigger("down");
         soundWoosh.GetComponent <AudioSource>().Play();
         playerActions.IsGood(1);
         if (compteur != null)
         {
             compteur.setGreen();
         }
     }
 }
Example #4
0
    public void Focus()
    {
        Transform playTransform = VRTK_DeviceFinder.PlayAreaTransform();

        GameObject[] magicObjects     = GameObject.FindGameObjectsWithTag("MagicObject");
        MagicObject  selectedObject   = null;
        float        smallestDistance = float.PositiveInfinity;

        foreach (GameObject obj in magicObjects)
        {
            MagicObject script = obj.GetComponent <MagicObject>();
            if (script == null || !script.isOwned)
            {
                continue;
            }

            float distance = Vector3.Distance(playTransform.position, script.transform.position);
            if (distance > 4f || distance > smallestDistance)
            {
                continue;
            }

            selectedObject   = script;
            smallestDistance = distance;
        }

        if (selectedObject != null)
        {
            selectedSeal = selectedObject.DisplaySeal(true);
            leftSealControls.ResetSavedVectors();
            rightSealControls.ResetSavedVectors();
        }

        if (OnFocus != null)
        {
            OnFocus();
        }
    }
 public void RegisterMagicObject(MagicObject mo)
 {
     magicObjectList.Add(mo);
 }
 public void DeregisterMagicObject(MagicObject mo)
 {
     magicObjectList.Remove(mo);
 }