Inheritance: MonoBehaviour
Esempio n. 1
0
            public bool HandleMouseEvent(float x, float y, int icase, int buttonType)
            {
                if (MovieID == -1)
                {
                    return(false);
                }

                if (AcceptMouseEvents())
                {
                    // Adjust according to viewport
                    float xx = x;
                    float yy = y;
                    if (mRenderTexture != null && Camera.main != null)
                    {
                        RaycastHit hit;
                        if (Physics.Raycast(Camera.main.ScreenPointToRay(new Vector2(x, Screen.height - y)), out hit))
                        {
                            Renderer     hitRenderer  = hit.collider.gameObject.renderer;
                            MeshCollider meshCollider = hit.collider as MeshCollider;
                            if (!(hit.collider is MeshCollider) || hitRenderer == null || meshCollider == null)
                            {
                                return(false);
                            }

                            SFRTT rtt = hit.collider.gameObject.GetComponent("SFRTT") as SFRTT;
                            if (rtt == null)
                            {
                                return(false);
                            }
                            float rttWidth  = hitRenderer.material.mainTexture.width;
                            float rttHeight = hitRenderer.material.mainTexture.height;
                            float hitCoordX = hit.textureCoord.x * rttWidth;
                            float hitCoordY = rttHeight - hit.textureCoord.y * rttHeight;
                            xx  = hitCoordX;
                            yy  = hitCoordY;
                            yy -= 32; // HACK
                        }
                    }
                    else
                    {
                        xx -= ViewPort.OX;
                        yy -= ViewPort.OY;
                    }

                    if (SF_HandleMouseEvent(MovieID, xx, yy, icase, buttonType))
                    {
                        UnityEngine.Debug.Log("Handle mouse event");
                        return(true);
                    }
                }
                return(false);
            }
Esempio n. 2
0
 public override void Update()
 {
     if (SFRTT.SF_WasDeviceReset())
     {
         if (!m_RenderTexture.IsCreated())
         {
             m_RenderTexture.Release();
             m_RenderTexture.Create();
             ApplyRenderTexture(m_RenderTexture);
         }
     }
     base.Update();
 }
Esempio n. 3
0
 public void SetRTT(SFRTT rtt)
 {
     mRenderTexture = rtt;
 }
Esempio n. 4
0
 public void SetRTT(SFRTT rtt)
 {
     mRenderTexture = rtt;
 }