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); } } } }
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); } }
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(); } } }
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); }