Advertisement
dimmpixeye

Untitled

Oct 31st, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.29 KB | None | 0 0
  1. using Component;
  2. using Homebrew;
  3. using UnityEngine;
  4.  
  5.  //   зачем этот неймспейс?
  6. namespace Processing
  7. {
  8.  
  9.     public class ProcessingNavigation : ProcessingBase, ITick
  10.     {
  11.  
  12.         private Group<ComponentNavigation> groupNavigation;
  13.         public void Tick()
  14.         {
  15.             if (Input.GetKeyDown(KeyCode.Escape))
  16.             {
  17.                 Search();
  18.             }
  19.         }
  20.  
  21.         private void Search()
  22.         {
  23.             // ты перебираешь не переменные, а сущности
  24.          //   foreach (var variable in groupNavigation)
  25.              
  26.               foreach (var entity in groupNavigation)
  27.             {
  28.                 // это не имеет смысла, в группу попадают только активные объекты если они акторы
  29.                // if (variable.GetActor().enabled)
  30.                 //{  передача компонентов в методы не обязательно, лучше передать примитивный тип - сущность
  31.                
  32.                   Navigation(entity );
  33.             }
  34.         }
  35.         private void Navigation(int entity)
  36.         {
  37.             var cNavigation = entity.ComponentNavigation();
  38.             // дата - плохое название в виду того что у тебя может быть много компонентов. с{Имя} как паттерн эффективнее
  39.             var action = cNavigation.Action;
  40.  
  41.             switch (action)
  42.             {
  43.                 case NavigationAction.Exit:
  44.                 {
  45.                     Debug.Log("Exit");
  46.                     break;
  47.                 }
  48.                 case NavigationAction.Back:
  49.                 {
  50.                     cNavigation .CurrentPanel.SetActive(false);
  51.                     cNavigation .OldPanel.SetActive(true);
  52.                     break;
  53.                 }
  54.                 case NavigationAction.LoadScene:
  55.                 {
  56.                     Debug.Log("LoadScene");
  57.                     break;
  58.                 }
  59.                 case NavigationAction.OpenPanel:
  60.                 {
  61.                     Debug.Log("OpenPanel");
  62.                     break;
  63.                 }
  64.             }
  65.         }
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement