Example #1
0
        public void InitScreenManager(ISceneStarter sceneStarter)
        {
            var screens = GetComponentsInChildren <WScreen>(true);

            // setup the components
            for (int i = 0; i < screens.Length; ++i)
            {
                WScreen screen = screens[i];
                screen.InitScreen(sceneStarter, this);
                // add to the dictionary
                _screens.Add(screen.id, screen);
            }
            // init screen objects
            var screenObjs = GetComponentsInChildren <IScreenObject>(true);

            foreach (IScreenObject so in screenObjs)
            {
                so.InitScreenObject(this);
                _screenObjects.Add(so);
            }
            // start the views afterwards
            foreach (KeyValuePair <string, WScreen> kvp in _screens)
            {
                WScreen view = kvp.Value;
                // show if default, hide immediately otherwise
                if (view.isDefault)
                {
                    ShowView(view, true);
                }
                else
                {
                    view.IsVisible = false;
                }
            }
        }
Example #2
0
 public void InitSceneController(ISceneStarter sceneStarter)
 {
     sceneStarter.OnStartSceneController += starter => {
         // particle pool is required
         ParticlePool = starter.GetController <WParticlePool>();
         Assert.Null <WParticlePool>(ParticlePool);
         // touchSurface is required
         Assert.Null <WTouchSurface>(touchSurface);
         // observe swipe
         touchSurface.OnMovingTouch += touch => {
             PlayParticle(swipeParticleId, touch.ScreenPos);
         };
     };
 }
Example #3
0
        public void InitSceneController(ISceneStarter sceneStarter)
        {
            for (int i = 0; i < prefabs.Count; ++i)
            {
                Clone(prefabs[i]);
            }

            _pool.OnPoolEmpty += id => {
                PrefabConfig config = prefabs.Find(x => x.id == id);
                if (null != config && config.cloneWhenEmpty)
                {
                    Clone(config);
                    return(true);
                }

                return(false);
            };

            _pool.OnReleased += obj => {
                // remove the obj from the cache of active objects
                WParticleObject pObj = obj as WParticleObject;
            };
        }