public void OnLevelWasLoaded(int level) { _scene = null; _camera = null; _handles.Clear(); _currentKeyboardHandle = 0; }
public void OnLevelWasInitialized(int level) { if (level == 3) { scene = GameObject.FindObjectOfType <H_Scene>(); } }
public void OnLevelWasInitialized(int level) { if (level == 3) { _scene = GameObject.FindObjectOfType <H_Scene>(); _camera = Camera.main.GetComponent <IllusionCamera>(); } }
public override List <HelpText> GetHelpTexts() { List <HelpText> res = new List <HelpText>(); H_Scene scene = ((PlayHomeInterpreter)VR.Interpreter).Scene; if (scene != null) { if (scene.mainMembers.StateMgr.NowStateID == H_STATE.LOOP) { res.Add(HelpText.Create("Change movement", FindAttachPosition("trackpad"), new Vector3(0, 0.02f, 0.05f))); res.Add(HelpText.Create("Press for speed", FindAttachPosition("trackpad"), new Vector3(0.05f, 0.02f, 0))); if (scene.buttonInEja.IsActive()) { res.Add(HelpText.Create("Cum inside", FindAttachPosition("lgrip"), new Vector3(-0.06f, 0.0f, -0.05f))); } else if (scene.buttonOutEja.IsActive()) { res.Add(HelpText.Create("Cum outside", FindAttachPosition("lgrip"), new Vector3(-0.06f, 0.0f, -0.05f))); } } else if (scene.mainMembers.StateMgr.NowStateID == H_STATE.SHOW_MOUTH_LIQUID) { if (scene.buttonDrink.IsActive()) { res.Add(HelpText.Create("Swallow", FindAttachPosition("lgrip"), new Vector3(-0.06f, 0.0f, -0.05f))); } else if (scene.buttonVomit.IsActive()) { res.Add(HelpText.Create("Spit out", FindAttachPosition("trigger"), new Vector3(-0.06f, 0.0f, -0.05f))); } } else if (scene.buttonExtract.IsActive()) { res.Add(HelpText.Create("Pull out", FindAttachPosition("lgrip"), new Vector3(-0.06f, 0.0f, -0.05f))); } else if (scene.mainMembers.StateMgr.NowStateID == H_STATE.PRE_INSERT_WAIT) { res.Add(HelpText.Create("Click to push in", FindAttachPosition("trackpad"), new Vector3(0.06f, 0.04f, -0.05f))); } else if (scene.mainMembers.StateMgr.NowStateID == H_STATE.PRE_TOUCH_WAIT || scene.mainMembers.StateMgr.NowStateID == H_STATE.INSERTED_WAIT) { res.Add(HelpText.Create("Click to start", FindAttachPosition("trackpad"), new Vector3(0.06f, 0.04f, -0.05f))); } if (scene.mainMembers.StateMgr.NowStateID != H_STATE.SHOW_MOUTH_LIQUID) { if (m_bForceLook) { res.Add(HelpText.Create("Stop looking", FindAttachPosition("trigger"), new Vector3(-0.06f, 0.0f, -0.05f))); } else { res.Add(HelpText.Create("Girl looks at you", FindAttachPosition("trigger"), new Vector3(-0.06f, 0.0f, -0.05f))); } } } return(res); }
public void OnLevelWasInitialized(int level) { scene = GameObject.FindObjectOfType <H_Scene>(); // Remove mosaic //foreach (var mosaic in GameObject.FindObjectsOfType<MozUV>()) //{ // mosaic.enabled = false; // if (mosaic.name.StartsWith("cf_")) // mosaic.GetComponent<Renderer>().enabled = false; //} //foreach (var renderer in GameObject.FindObjectsOfType<Renderer>().Where(renderer => renderer.sharedMaterial.mainTexture != null)) //{ // if (textures.ContainsKey(renderer.sharedMaterial.mainTexture.name)) // { // renderer.sharedMaterial.mainTexture = textures[renderer.sharedMaterial.mainTexture.name]; // } // //Console.WriteLine("OWRAP: {0}", renderer.sharedMaterial.mainTexture.wrapMode); // //Console.WriteLine("NWRAP: {0}", m_nudeTexture.wrapMode); // // renderer.sharedMaterial.SetTexture("_MainTex", m_nudeTexture); // //renderer.sharedMaterial.mainTexture = m_nudeTexture; //} if (level == 3) { // Make bipeds! //var target = GameObject.CreatePrimitive(PrimitiveType.Sphere); //target.transform.localScale = Vector3.one * 0.1f; //var scene = GameObject.FindObjectOfType<H_Scene>(); //foreach (var human in scene.Members) //{ // var biped = human.animator.gameObject.AddComponent<FullBodyBipedIK>(); // // Auto detect // biped.references = new BipedReferences(); // BipedReferences.AutoDetectReferences(ref biped.references, biped.transform, new BipedReferences.AutoDetectParams(false, false)); // biped.solver.rootNode = IKSolverFullBodyBiped.DetectRootNodeBone(biped.references); // biped.solver.SetToReferences(biped.references, biped.solver.rootNode); // var leftHandEffector = biped.solver.GetEffector(FullBodyBipedEffector.LeftHand); // var rightHandEffector = biped.solver.GetEffector(FullBodyBipedEffector.RightHand); // leftHandEffector.positionWeight = 1; // //leftHandEffector.rotationWeight = 1; // Handle.Create(leftHandEffector.bone); //} } }
public void OnLevelWasLoaded(int level) { m_scene = GameObject.FindObjectOfType <H_Scene>(); LookType = LookAtRotator.TYPE.NO; HeadLookType = LookAtRotator.TYPE.NO; m_mode = CameraMode.None; illusionCamera = Camera.main.GetComponent <IllusionCamera>(); var controls = GameObject.FindObjectOfType <H_EditsUIControl>(); if (controls) { BuildGUI(controls); } }
protected override void OnUpdate() { base.OnUpdate(); H_Scene scene = ((PlayHomeInterpreter)VR.Interpreter).Scene; if (scene != null) { var device = this.Controller; var tGrip = device.GetPressUp(EVRButtonId.k_EButton_Grip); if (tGrip) { EnterHandMode(EHandMode.NONE); foreach (var actor in ((PlayHomeInterpreter)VR.Interpreter).FemaleMainActors) { actor.ResetClothes(); } } UpdateHand(); } }
void OnLevelWasLoaded() { _GC = FindObjectOfType <GameControl>(); _Scene = FindObjectOfType <H_Scene>(); }
protected override void OnUpdate() { base.OnUpdate(); H_Scene scene = ((PlayHomeInterpreter)VR.Interpreter).Scene; if (scene != null) { var device = this.Controller; var tPadPos = device.GetAxis(); var tPadClick = device.GetPressUp(EVRButtonId.k_EButton_SteamVR_Touchpad); var tPadTouch = device.GetTouch(EVRButtonId.k_EButton_SteamVR_Touchpad); var tPadPress = device.GetPress(EVRButtonId.k_EButton_SteamVR_Touchpad); var tGrip = device.GetPressUp(EVRButtonId.k_EButton_Grip); var tTriggerClicked = device.GetPressUp(EVRButtonId.k_EButton_SteamVR_Trigger); bool bCanLook = true; if (scene.mainMembers.StateMgr.NowStateID == H_STATE.LOOP) { if (tPadPress) { float fLimit = 2.0f * Time.deltaTime; if (Math.Abs(scene.MixCtrl.Speed - tPadPos.y) > fLimit) { scene.MixCtrl.Speed += scene.MixCtrl.Pose < tPadPos.y ? fLimit : -fLimit; } else { scene.MixCtrl.Speed = tPadPos.y; } } else if (tPadTouch) { float fLimit = 2.0f * Time.deltaTime; // avoid "jumping" from one position into the next by limiting the max movement if (Math.Abs(scene.MixCtrl.Pose - tPadPos.x) > fLimit) { scene.MixCtrl.Pose += scene.MixCtrl.Pose < tPadPos.x ? fLimit : -fLimit; } else { scene.MixCtrl.Pose = tPadPos.x; } if (Math.Abs(scene.MixCtrl.Stroke - tPadPos.y) > fLimit) { scene.MixCtrl.Stroke += scene.MixCtrl.Stroke < tPadPos.y ? fLimit : -fLimit; } else { scene.MixCtrl.Stroke = tPadPos.y; } } if (tGrip) { if (scene.buttonInEja.IsActive()) { scene.Button_EjaIn(); VRGIN.Core.Logger.Debug("Button_EjaIn click"); } else if (scene.buttonOutEja.IsActive()) { scene.Button_EjaOut(); VRGIN.Core.Logger.Debug("Button_EjaOut click"); } else { VRGIN.Core.Logger.Debug("Grip - No Button enbaled"); } } } else if (scene.mainMembers.StateMgr.NowStateID == H_STATE.SHOW_MOUTH_LIQUID) { if (tGrip && scene.buttonDrink.IsActive()) { scene.Button_Drink(); VRGIN.Core.Logger.Debug("Button_Drink click"); } else if (tTriggerClicked && scene.buttonVomit.IsActive()) { scene.Button_Vomit(); VRGIN.Core.Logger.Debug("Button_Vomit click"); } bCanLook = false; } else { if (tGrip) { if (scene.buttonExtract.IsActive()) { scene.Button_Extract(); VRGIN.Core.Logger.Debug("Button_Extract click"); } else { VRGIN.Core.Logger.Debug("Grip - No Button enbaled"); } } } if (tPadClick) { scene.MixCtrl.OnPointerClick(null); } if (tTriggerClicked) { if (bCanLook && !m_bForceLook) { m_bForceLook = true; foreach (var female in ((PlayHomeInterpreter)VR.Interpreter).FemaleMainActors) { female.SetLookAt(VRCamera.Instance.SteamCam.head); } } else if (m_bForceLook) { m_bForceLook = false; foreach (var female in ((PlayHomeInterpreter)VR.Interpreter).FemaleMainActors) { female.ClearLookAt(); } } } } }
protected override void OnFixedUpdate() { scene = (VR.Interpreter as PlayClubInterpreter).Scene; if (scene && IsTracking) { var device = this.Controller; var tPadPos = device.GetAxis(); var tPadClick = device.GetPressUp(EVRButtonId.k_EButton_SteamVR_Touchpad); var tPadTouch = device.GetTouch(EVRButtonId.k_EButton_SteamVR_Touchpad); if (tPadClick) { if (Vector2.Dot(Vector2.up, tPadPos) > DOT_PRODUCT_THRESHOLD) { Logger.Debug("up"); (VR.Interpreter as PlayClubInterpreter).TogglePiston(); } else if (Vector2.Dot(-Vector2.up, tPadPos) > DOT_PRODUCT_THRESHOLD) { Logger.Debug("down"); (VR.Interpreter as PlayClubInterpreter).ToggleGrind(); } else if (Vector2.Dot(-Vector2.right, tPadPos) > DOT_PRODUCT_THRESHOLD) { Logger.Debug("left"); (VR.Interpreter as PlayClubInterpreter).ChangePose(-1); } else if (Vector2.Dot(Vector2.right, tPadPos) > DOT_PRODUCT_THRESHOLD) { Logger.Debug("right"); (VR.Interpreter as PlayClubInterpreter).ChangePose(1); } } if (device.GetTouchDown(EVRButtonId.k_EButton_Axis0)) { if (tPadPos.magnitude < 0.4f) { _AlteringSpeed = true; } } if (_AlteringSpeed && tPadTouch) { // Normalize float val = (tPadPos.y + 1) / 2; (VR.Interpreter as PlayClubInterpreter).SetSpeed(val); } if (device.GetTouchUp(EVRButtonId.k_EButton_Axis0)) { _AlteringSpeed = false; } //if (device.GetTouchUp(EVRButtonId.k_EButton_Grip)) //{ // ToggleOrgasmLock(); //} if (device.GetPressUp(EVRButtonId.k_EButton_Grip)) { if (_IgnoreNextTrigger) { _IgnoreNextTrigger = false; } else { (VR.Interpreter as PlayClubInterpreter).E*******e(); } } if (device.GetPressDown(EVRButtonId.k_EButton_SteamVR_Trigger)) { AssociateBoneColliders(FindNearBones()); } if (device.GetPressUp(EVRButtonId.k_EButton_SteamVR_Trigger)) { DeassociateBoneColliders(); } } }
public void Mimic(Camera cam, Camera[] subCameras = null) { Console.WriteLine("MIMIC: {0}", cam); scene = GameObject.FindObjectOfType <Scene>(); if (cam == null) { // Create camera from nothing ApplyToCameras(ovrCamera => { ovrCamera.nearClipPlane = Mathf.Clamp(0.01f, 0.001f, 0.01f); ovrCamera.farClipPlane = Mathf.Clamp(50f, 50f, 200f); ovrCamera.cullingMask = LayerMask.GetMask(QUAD_LAYER); ovrCamera.backgroundColor = Color.white; ovrCamera.clearFlags = CameraClearFlags.Skybox; }); transform.parent = null; GUI.UpdateGUI(false, false); follow = null; Base = transform; } else { var effects = cam.GetComponents <MonoBehaviour>().Where(fx => !(fx is IllusionCamera || fx is CameraRenderImageToTex)); // Copy camera values ApplyToCameras(ovrCamera => { ovrCamera.nearClipPlane = Mathf.Clamp(0.01f, 0.001f, 0.01f); ovrCamera.farClipPlane = Mathf.Clamp(100f, 50f, 200f); ovrCamera.cullingMask = cam.camera.cullingMask & ~LayerMask.GetMask("UI"); ovrCamera.clearFlags = CameraClearFlags.Color; ovrCamera.backgroundColor = cam.backgroundColor; ovrCamera.depth = cam.depth; foreach (var oldEffect in ovrCamera.GetComponents <MonoBehaviour>()) { GameObject.DestroyImmediate(oldEffect); } foreach (var newEffect in effects) { ovrCamera.gameObject.AddComponent(newEffect); } //Console.WriteLine("Found effects in {0}: {1} ({2})", cam.name, string.Join(", ", effects.Select(e => e.GetType().Name).ToArray()), effects.Length); //Console.WriteLine("My effects: " + string.Join(", ", ovrCamera.GetComponents<MonoBehaviour>().Select(e => e.GetType().Name).ToArray())); //Console.WriteLine(ovrCamera.clearFlags); //var skybox = cam.GetComponent<Skybox>(); //if (skybox != null) //{ // var ovrSkybox = ovrCamera.gameObject.GetComponent<Skybox>(); // if (ovrSkybox == null) ovrSkybox = ovrSkybox.gameObject.AddComponent<Skybox>(); // ovrSkybox.material = skybox.material; //} }); hscene = GameObject.FindObjectOfType <H_Scene>(); transform.parent = null; cam.camera.cullingMask = 0; GUI.UpdateGUI(true, true); follow = cam.transform; Base = follow; } if (subCameras != null) { foreach (var subCam in subCameras) { CreateSubCamera(subCam); } } illusionCamera = GameObject.FindObjectOfType <IllusionCamera>(); transform.localPosition = Vector3.zero; transform.localRotation = Quaternion.identity; SetRotationLock(lockRotation); }