Ejemplo n.º 1
0
 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>();
     }
 }
Ejemplo n.º 3
0
 public void OnLevelWasInitialized(int level)
 {
     if (level == 3)
     {
         _scene  = GameObject.FindObjectOfType <H_Scene>();
         _camera = Camera.main.GetComponent <IllusionCamera>();
     }
 }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
                //}
            }
        }
Ejemplo n.º 6
0
        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);
            }
        }
Ejemplo n.º 7
0
        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();
            }
        }
Ejemplo n.º 8
0
 void OnLevelWasLoaded()
 {
     _GC    = FindObjectOfType <GameControl>();
     _Scene = FindObjectOfType <H_Scene>();
 }
Ejemplo n.º 9
0
        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();
                        }
                    }
                }
            }
        }
Ejemplo n.º 10
0
        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();
                }
            }
        }
Ejemplo n.º 11
0
        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);
        }