// Use this for initialization void Start () { // Add a listener to the OVRMessenger for touch events OVRMessenger.AddListener<OVRTouchpad.TouchEvent>("Touchpad", LocalTouchEventCallback): // Initialize the proper target set targetSet = 0: SwitchTarget.SetActive(0): // Set initial color on models if(material != null) material.SetColor("_Color", Color.grey): }
/// <summary> /// Sets the current target. /// </summary> void SetCurrentTarget() { switch(targetSet) { case(0): SwitchTarget.SetActive(0): OVRDebugConsole.Clear(): OVRDebugConsole.Log("MICROPHONE INPUT"): OVRDebugConsole.ClearTimeout(1.5f): break: case(1): SwitchTarget.SetActive(1): OVRDebugConsole.Clear(): OVRDebugConsole.Log("SAMPLE INPUT"): OVRDebugConsole.ClearTimeout(1.5f): break: } }
void HandleWeaponFired() { var direction = ReticleObject.position - Player.transform.position; var playerPos = Player.transform.position; var hit = Physics2D.Raycast(playerPos, direction, 100, layerMask); if (hit) { SwitchTarget hitTarget = null; if (hitTarget = hit.collider.gameObject.GetComponent <SwitchTarget>()) { // exchange positions Player.transform.position = hitTarget.transform.position; hitTarget.transform.position = playerPos; // exchange velocities? TODO: this might be modified by some more advanced mechanic var playerVel = Player.GetComponent <Rigidbody2D>().velocity; Player.GetComponent <Rigidbody2D>().velocity = hitTarget.GetComponent <Rigidbody2D>().velocity; Player.PostWarpCooldown = true; hitTarget.GetComponent <Rigidbody2D>().velocity = playerVel; // PEW PEW FX !! Player.WarpFX.Stop(); Player.WarpFX.Clear(); Player.WarpFX.Play(); Player.OnWarped(); hitTarget.WarpFX.Stop(); hitTarget.WarpFX.Clear(); hitTarget.WarpFX.Play(); // tell the camera we got warpy Camera.main.GetComponent <CustomCamFollow>().AskForLerp(); } var newRayIndicator = GameObject.Instantiate(RayPrefab); newRayIndicator.Begin(playerPos, hit.point); Player.PlayerAudio.PlayOneShot(PewNoise); } }