示例#1
0
        public int AddMovieEventHandler(int instId,
                                        MovieEventHandler load   = null, MovieEventHandler postLoad   = null,
                                        MovieEventHandler unload = null, MovieEventHandler enterFrame = null,
                                        MovieEventHandler update = null, MovieEventHandler render     = null)
        {
            if (instId < 0 || instId >= m_instances.Length)
            {
                return(-1);
            }

            MovieEventHandlers handlers = m_movieEventHandlers[instId];

            if (handlers == null)
            {
                handlers = new MovieEventHandlers();
                m_movieEventHandlers[instId] = handlers;
            }

            handlers.Add(load, postLoad, unload, enterFrame, update, render);

            Movie movie = SearchMovieInstanceByInstanceId(instId);

            if (movie != null)
            {
                movie.SetHandlers(handlers);
            }
            return(++m_eventOffset);
        }
示例#2
0
        public void RemoveMovieEventHandler(string instanceName, int id)
        {
            int instId = SearchInstanceId(GetStringId(instanceName));

            if (instId >= 0)
            {
                RemoveMovieEventHandler(instId, id);
                return;
            }

            if (m_movieEventHandlersByFullName == null)
            {
                return;
            }

            MovieEventHandlers handlers;

            if (!m_movieEventHandlersByFullName.TryGetValue(
                    instanceName, out handlers))
            {
                return;
            }

            handlers.Remove(id);
            Movie movie = SearchMovieInstance(instanceName);

            if (movie != null)
            {
                movie.SetHandlers(handlers);
            }
        }
示例#3
0
        public void ClearMovieEventHandler(
            string instanceName, MovieEventHandlers.Type type)
        {
            int instId = SearchInstanceId(GetStringId(instanceName));

            if (instId >= 0)
            {
                ClearMovieEventHandler(instId, type);
                return;
            }

            if (m_movieEventHandlersByFullName == null)
            {
                return;
            }

            MovieEventHandlers handlers;

            if (!m_movieEventHandlersByFullName.TryGetValue(
                    instanceName, out handlers))
            {
                return;
            }

            handlers.Clear(type);
            Movie movie = SearchMovieInstance(instanceName);

            if (movie != null)
            {
                movie.SetHandlers(handlers);
            }
        }
示例#4
0
        public void RemoveMovieEventHandler(int instId,
                                            MovieEventHandler load   = null, MovieEventHandler postLoad   = null,
                                            MovieEventHandler unload = null, MovieEventHandler enterFrame = null,
                                            MovieEventHandler update = null, MovieEventHandler render     = null)
        {
            if (instId < 0 || instId >= m_instances.Length)
            {
                return;
            }

            MovieEventHandlers handlers = m_movieEventHandlers[instId];

            if (handlers == null)
            {
                return;
            }

            handlers.Remove(load, postLoad, unload, enterFrame, update, render);
            Movie movie = SearchMovieInstanceByInstanceId(instId);

            if (movie != null)
            {
                movie.SetHandlers(handlers);
            }
        }
示例#5
0
        public void RemoveMovieEventHandler(string instanceName,
                                            MovieEventHandler load   = null, MovieEventHandler postLoad   = null,
                                            MovieEventHandler unload = null, MovieEventHandler enterFrame = null,
                                            MovieEventHandler update = null, MovieEventHandler render     = null)
        {
            int instId = SearchInstanceId(GetStringId(instanceName));

            if (instId >= 0)
            {
                RemoveMovieEventHandler(
                    instId, load, postLoad, unload, enterFrame, update, render);
                return;
            }

            if (m_movieEventHandlersByFullName == null)
            {
                return;
            }

            MovieEventHandlers handlers;

            if (!m_movieEventHandlersByFullName.TryGetValue(
                    instanceName, out handlers))
            {
                return;
            }

            handlers.Remove(load, postLoad, unload, enterFrame, update, render);
            Movie movie = SearchMovieInstance(instanceName);

            if (movie != null)
            {
                movie.SetHandlers(handlers);
            }
        }
示例#6
0
        public void SetMovieEventHandler(int instId,
                                         MovieEventHandler load   = null, MovieEventHandler postLoad   = null,
                                         MovieEventHandler unload = null, MovieEventHandler enterFrame = null,
                                         MovieEventHandler update = null, MovieEventHandler render     = null)
        {
            if (instId < 0 || instId >= m_instances.Length)
            {
                return;
            }

            MovieEventHandlers handlers;

            if (load != null || postLoad != null || unload != null ||
                enterFrame != null || update != null || render != null)
            {
                handlers = new MovieEventHandlers(
                    load, postLoad, unload, enterFrame, update, render);
            }
            else
            {
                handlers = null;
            }
            m_movieEventHandlers[instId] = handlers;

            if (instId == m_rootMovie.instanceId)
            {
                m_rootMovie.SetHandlers(handlers);
            }
        }
示例#7
0
        public Movie AttachMovie(Movie movie, string attachName,
                                 int attachDepth          = -1, bool reorder = false,
                                 MovieEventHandler load   = null, MovieEventHandler postLoad   = null,
                                 MovieEventHandler unload = null, MovieEventHandler enterFrame = null,
                                 MovieEventHandler update = null, MovieEventHandler render     = null)
        {
            DeleteAttachedMovie(movie.parent, movie, false);

            MovieEventHandlers handlers = new MovieEventHandlers();

            handlers.Add(load, postLoad, unload, enterFrame, update, render);
            movie.SetHandlers(handlers);

            return(AttachMovieInternal(movie, attachName, attachDepth, reorder));
        }
示例#8
0
        public int AddMovieEventHandler(string instanceName,
                                        MovieEventHandler load   = null, MovieEventHandler postLoad   = null,
                                        MovieEventHandler unload = null, MovieEventHandler enterFrame = null,
                                        MovieEventHandler update = null, MovieEventHandler render     = null)
        {
            int instId = SearchInstanceId(GetStringId(instanceName));

            if (instId >= 0)
            {
                return(AddMovieEventHandler(
                           instId, load, postLoad, unload, enterFrame, update, render));
            }

            if (!instanceName.Contains("."))
            {
                return(-1);
            }

            if (m_movieEventHandlersByFullName == null)
            {
                m_movieEventHandlersByFullName = new MovieEventHandlersDictionary();
            }

            MovieEventHandlers handlers;

            if (!m_movieEventHandlersByFullName.TryGetValue(
                    instanceName, out handlers))
            {
                handlers = new MovieEventHandlers();
                m_movieEventHandlersByFullName[instanceName] = handlers;
            }

            int id = GetEventOffset();

            handlers.Add(id, load, postLoad, unload, enterFrame, update, render);

            Movie movie = SearchMovieInstance(instanceName);

            if (movie != null)
            {
                movie.SetHandlers(handlers);
            }
            return(id);
        }
示例#9
0
        public void AddMovieEventHandler(string instanceName,
                                         MovieEventHandler load   = null, MovieEventHandler postLoad   = null,
                                         MovieEventHandler unload = null, MovieEventHandler enterFrame = null,
                                         MovieEventHandler update = null, MovieEventHandler render     = null)
        {
            int instId = SearchInstanceId(GetStringId(instanceName));

            if (instId >= 0)
            {
                AddMovieEventHandler(
                    instId, load, postLoad, unload, enterFrame, update, render);
                return;
            }

            if (!instanceName.Contains("."))
            {
                return;
            }

            if (m_movieEventHandlersByFullName == null)
            {
                m_movieEventHandlersByFullName = new MovieEventHandlersDictionary();
            }

            MovieEventHandlers handlers =
                m_movieEventHandlersByFullName[instanceName];

            if (handlers == null)
            {
                handlers = new MovieEventHandlers();
                m_movieEventHandlersByFullName[instanceName] = handlers;
            }

            Movie movie = SearchMovieInstance(instId);

            if (movie != null)
            {
                movie.SetHandlers(handlers);
            }

            handlers.Add(load, postLoad, unload, enterFrame, update, render);
        }
示例#10
0
        public void ClearMovieEventHandler(int instId)
        {
            if (instId < 0 || instId >= m_instances.Length)
            {
                return;
            }

            MovieEventHandlers handlers = m_movieEventHandlers[instId];

            if (handlers == null)
            {
                return;
            }

            handlers.Clear();
            Movie movie = SearchMovieInstanceByInstanceId(instId);

            if (movie != null)
            {
                movie.SetHandlers(handlers);
            }
        }
示例#11
0
        public Movie AttachMovie(Movie movie, string attachName,
		int attachDepth = -1, bool reorder = false,
		MovieEventHandler load = null, MovieEventHandler postLoad = null,
		MovieEventHandler unload = null, MovieEventHandler enterFrame = null,
		MovieEventHandler update = null, MovieEventHandler render = null)
        {
            DeleteAttachedMovie(movie.parent, movie, false);

            MovieEventHandlers handlers = new MovieEventHandlers();
            handlers.Add(load, postLoad, unload, enterFrame, update, render);
            movie.SetHandlers(handlers);

            return AttachMovieInternal(movie, attachName, attachDepth, reorder);
        }