Beispiel #1
0
 protected override void AddOutOfScreenComponent(PoolableView go)
 {
     if (go.GetComponent <OutOfScreenView>() == null)
     {
         go.gameObject.AddComponent <OutOfScreenView>();
     }
     go.GetComponent <OutOfScreenView>().wasInScreen = false;
 }
 void OnReturnInstanceSignalDispatched(PoolableView view)
 {
     TypeSwitch.Do(
         view,
         TypeSwitch.Case <PlayerShipLaserView>(x => playerLaserPool.ReturnInstance(x)),
         TypeSwitch.Case <AsteroidView>(x => asteroidPool.ReturnInstance(x)),
         TypeSwitch.Case <EnemyShipView>(x => enemyShipPool.ReturnInstance(x)),
         TypeSwitch.Default(() => {
         throw new NotSupportedException("This view can not supported!!!!!");
     })
         );
 }
 protected abstract void AddOutOfScreenComponent(PoolableView go);
Beispiel #4
0
 public void OnConstruct()
 {
     poolable = root == null?GetComponent <PoolableView>() : root;
 }