Example #1
0
    void Awake()
    {
        MouseX = -1;
        MouseY = -1;

        m_UISystem = CoherentUIGTSystem.CurrentUISystem;

        m_ObjectsToDestroy = new List <UnityEngine.Object> ();

        m_CoherentMethods = new List <CoherentUIGTMethodBindingInfo>();
        if (EnableBindingAttribute)
        {
            RegisterMethodsForBinding();
        }
        m_Listener = new UnityGTViewListener(this, this.m_Width, this.m_Height);
        m_Listener.ReadyForBindings += this.ReadyForBindings;
        m_Listener.BindingsReleased += this.BindingsReleased;
        IsReadyForBindings           = false;

        m_Camera = GetComponent <Camera>();

        m_UISystem.UISystemDestroying += OnDestroy;
        m_UISystem.SystemReady        += OnSystemReady;
        m_UISystem.AddView(this);

        m_Listener.AudioStreamCreated += CreateStream;
        m_Listener.AudioDataReceived  += ReceiveDataForStream;
        m_Listener.AudioStreamPlay    += AutoPlayStream;
        m_Listener.AudioStreamPause   += StopStream;
        m_Listener.AudioStreamEnded   += StopStream;
        m_Listener.AudioStreamClosed  += DestroyStream;

        ptrSize = Marshal.SizeOf(typeof(IntPtr));
    }
Example #2
0
    public static CoherentUIGTSystem Create()
    {
        var go = new GameObject("CoherentGTSystem");
        CoherentUIGTSystem system = go.AddComponent <CoherentUIGTSystem>();

        return(system);
    }
    static void OnPostprocessAllAssets(
        string[] importedAssets,
        string[] deletedAssets,
        string[] movedAssets,
        string[] movedFromAssetPaths)
    {
        CoherentUIGTSystem system = CoherentUIGTSystem.CurrentUISystem;

        if (system == null)
        {
            return;
        }

        for (int i = 0; i < system.UIViews.Count; i++)
        {
            CoherentUIGTView view = system.UIViews[i];

            if (!view.AutoRefresh)
            {
                continue;
            }

            if (CheckResourcesAndReloadView(view, importedAssets) ||
                CheckResourcesAndReloadView(view, deletedAssets) ||
                CheckResourcesAndReloadView(view, movedFromAssetPaths))
            {
                continue;
            }
        }
    }
        public override void OnResourceRead(ResourceRequestUIGT request,
                                            ResourceResponseUIGT response)
        {
            if (m_UISystem == null)
            {
                m_UISystem = CoherentUIGTSystem.CurrentUISystem;
            }

            string url      = request.GetURL();
            string cleanUrl = GetFilepath(url);

            if (IsImageRequest(url) && url.StartsWith("coui://" + PRELOADEDIMAGES_PATH))
            {
                var    asUri         = new Uri(url);
                string fileExtension = url.Substring(url.LastIndexOf('.'));
                string texturePath   = url.Replace(asUri.Scheme + "://", "").Replace(fileExtension, "");;
                if (LoadPreloadedImage(texturePath, ref response))
                {
                    response.SignalSuccess();
                }
                else
                {
                    response.SignalFailure();
                }
                response.Release();
                return;
            }
            else if (m_UISystem.LiveGameViewComponents.ContainsKey(url))
            {
                if (LoadLiveViewFromComponent(url, ref response))
                {
                    response.SignalSuccess();
                }
                else
                {
                    response.SignalFailure();
                }
                response.Release();
                return;
            }

            if (!File.Exists(cleanUrl))
            {
                Debug.LogError("[Coherent GT] File not found for " + url);
                response.SignalFailure();
                response.Release();
                return;
            }

            if (request.GetHeaderIndex("Range") < 0)
            {
                DoCompleteRead(cleanUrl, request, response);
            }
            else
            {
                DoPartialRead(cleanUrl, request, response);
            }
            response.Release();
        }
Example #5
0
    static void OnDeviceReset()
    {
        CoherentUIGTSystem system = MonoBehaviour.FindObjectOfType(
            typeof(CoherentUIGTSystem)) as CoherentUIGTSystem;

        for (int i = 0; i < system.m_Views.Count; i++)
        {
            system.m_Views[i].RecreateRenderTarget();
        }
    }
Example #6
0
    void Start()
    {
        m_MainCamera        = Camera.main;
        m_UISystem          = CoherentUIGTSystem.CurrentUISystem;
        pointerCursor       = GameObject.Find("DefaultCursor");
        getControllerStates = GameObject.Find("GameManager").GetComponent <GetControllerStates>();
        gameManager         = GameObject.Find("GameManager");
        mouseOperation      = gameManager.GetComponent <MouseOperation>();

        getControllerStates = gameManager.GetComponent <GetControllerStates>();

        isReadyForNextClick = true;
    }
Example #7
0
    void Awake()
    {
        m_UISystem = CoherentUIGTSystem.CurrentUISystem;

        if (m_SourceTexture == null && m_SourceCamera == null)
        {
            var cameraComponent = GetComponent <Camera>();

            if (cameraComponent != null && cameraComponent != Camera.main)
            {
                m_SourceCamera = cameraComponent;
            }
        }
    }
    static void AddCoherentSystem()
    {
        CoherentUIGTSystem system = Object.FindObjectOfType(typeof(CoherentUIGTSystem)) as CoherentUIGTSystem;

        if (system != null)
        {
            Debug.Log("Coherent GT System already added in scene.");
        }
        else
        {
            GameObject go = new GameObject("CoherentGTSystem");
            go.AddComponent <CoherentUIGTSystem>();
        }
    }
Example #9
0
    void Resize()
    {
        if (!m_UISystem)
        {
            m_UISystem = CoherentUIGTSystem.CurrentUISystem;
        }

        RecreateRenderTexture();

        if (TargetView != null && TargetView.View != null)
        {
            string resizeJS = string.Format(JS_RESIZE, m_LiveName, m_Width, m_Height);
            TargetView.View.ExecuteScript(resizeJS);
        }
    }
Example #10
0
 void Awake()
 {
     m_System = CoherentUIGTSystem.CurrentUISystem;
 }
Example #11
0
    void AddViewRendererComponent()
    {
        View.SetFocus();

        var id = View.GetId();

        if (m_Camera != null)
        {
            ViewRendererComponent = gameObject.AddComponent <CoherentUIGTViewRenderer>();

            Shader shader = Shader.Find("Coherent/ViewShader");
            if (shader == null)
            {
                Debug.LogError("No shader found");
            }

            RenderMaterial = new Material(shader);
            RenderMaterial.SetTexture("_MainTex", ViewTexture);

            // make sure added components are destroyed too
            m_ObjectsToDestroy.Add(ViewRendererComponent);
        }
        else
        {
            ViewRendererComponent = GetComponent <CoherentUIGTViewRenderer>();

            if (ViewRendererComponent == null)
            {
                ViewRendererComponent = gameObject.AddComponent <CoherentUIGTViewRenderer>();
            }

            m_ObjectsToDestroy.Add(ViewRendererComponent);

            Shader shader = Shader.Find(IsTransparent
                                                                                ? "Coherent/TransparentDiffuse"
                                                                                : "Coherent/Diffuse");
            if (shader == null)
            {
                Debug.LogError("No shader found");
            }

            RenderMaterial = new Material(shader);

            RenderMaterial.SetTexture("_MainTex", ViewTexture);
            RenderMaterial.name = "CoherentMaterialRTT" + id;
            GetComponent <Renderer>().material = RenderMaterial;
        }
        m_ObjectsToDestroy.Add(RenderMaterial);

        ViewRendererComponent.ViewId = (ushort)id;

        var shaderKeywords = new List <string>();

        if (FlipY)
        {
            shaderKeywords.Add("COHERENT_FLIP_Y");
        }

        if (CorrectGamma &&
            CoherentUIGTSystem.GetUnityRendererType() == CoherentUIGTSystem.UnityRendererType.D3D9)
        {
            shaderKeywords.Add("COHERENT_CORRECT_GAMMA");
        }

                #if COHERENT_UNITY_PRE_4_1
        ViewRendererComponent.ShaderKeywords = shaderKeywords;
                #else
        RenderMaterial.shaderKeywords = shaderKeywords.ToArray();
                #endif
    }
 public void OnEnable()
 {
     m_Target = target as CoherentUIGTSystem;
     m_Fields = CoherentUIGTExposeProperties.GetProperties(m_Target);
 }