Beispiel #1
0
 /// <summary>
 /// 在update里调用,当trans关闭时,出现其他layer,消除这个layer
 /// </summary>
 /// <param name="trans"></param>
 public void _ShowOtherLayers(SceneTrans trans)
 {
     if (trans.InClosing())
     {
         float alpha = Mathf.Lerp(GetAlpha(), 0f, Time.deltaTime * 15f);
         alpha = alpha < 0.02f ? 0f : alpha;
         List <ILayer> layers = LayerManager.GetLayers();
         for (int i = 0; i < layers.Count; i++)
         {
             var layer = layers[i];
             if ((Layer)layer != this)
             {
                 if (!layer.CanBeShownByOthers())
                 {
                     continue;
                 }
                 if (layer.GetAlpha() < 1f - alpha)
                 {
                     layer.SetAlpha(1f - alpha);
                 }
                 layer.SetInteractable(true);
             }
             else
             {
                 layer.SetAlpha(alpha);
             }
         }
         if (alpha == 0f)
         {
             trans.CompleteClose();
             gameObject.SetActive(false);
         }
     }
 }
Beispiel #2
0
 /// <summary>
 /// 在update里调用,当trans出现时,隐藏其他layer,只出现这个layer
 /// </summary>
 /// <param name="trans"></param>
 public void _HideOtherLayers(SceneTrans trans)
 {
     if (trans.InProcess())
     {
         float alpha = Mathf.Lerp(GetAlpha(), 1f, Time.deltaTime * 15f);
         alpha = alpha > 0.98f ? 1f : alpha;
         List <ILayer> layers = LayerManager.GetLayers();
         for (int i = 0; i < layers.Count; i++)
         {
             var layer = layers[i];
             if ((Layer)layer != this)
             {
                 if (layer.GetAlpha() > 1f - alpha)
                 {
                     layer.SetAlpha(1f - alpha);
                 }
                 if (alpha == 1f)
                 {
                     layer.SetInteractable(false);
                 }
             }
             else
             {
                 layer.SetAlpha(alpha);
             }
         }
         if (alpha == 1f)
         {
             trans.CompleteTrans();
         }
     }
 }
Beispiel #3
0
 public void ChangeScene(SceneTrans next, Dictionary <string, string> properties)
 {
     this.game.ChangeScene(next, properties);
 }
Beispiel #4
0
 public void ChangeScene(SceneTrans next)
 {
     this.game.ChangeScene(next);
 }