Exemplo n.º 1
0
        private void OnComponentRemoving(Component cmp)
        {
            // Notify Components
            ICmpInitializable cmpInit = cmp as ICmpInitializable;

            if (cmpInit != null)
            {
                cmpInit.OnShutdown(Component.ShutdownContext.RemovingFromGameObject);
            }
            foreach (Component c in this.compList)
            {
                if (!c.Active || c == cmp)
                {
                    continue;
                }
                ICmpComponentListener cTemp = c as ICmpComponentListener;
                if (cTemp != null)
                {
                    cTemp.OnComponentRemoving(cmp);
                }
            }

            // Public event
            if (this.eventComponentRemoving != null)
            {
                this.eventComponentRemoving(this, new ComponentEventArgs(cmp));
            }
        }
Exemplo n.º 2
0
        private void OnComponentAdded(Component cmp)
        {
            // Notify Components
            ICmpInitializable cmpInit = cmp as ICmpInitializable;

            if (cmpInit != null)
            {
                cmpInit.OnInit(Component.InitContext.AddToGameObject);
            }
            foreach (Component c in this.compList)
            {
                if (!c.Active || c == cmp)
                {
                    continue;
                }
                ICmpComponentListener cTemp = c as ICmpComponentListener;
                if (cTemp != null)
                {
                    cTemp.OnComponentAdded(cmp);
                }
            }

            // Public event
            if (this.eventComponentAdded != null)
            {
                this.eventComponentAdded(this, new ComponentEventArgs(cmp));
            }
        }