예제 #1
0
 public virtual void AddPanelStatus(string key, PanelStatus status)
 {
     if (!Panels.ContainsKey(key))
     {
         Panels.Add(key, status);
     }
     else
     {
         Debug.LogError($"Tab already has panel status with key ({key})");
     }
 }
예제 #2
0
 public virtual void AddPanelStatus(string key, PanelStatus status)
 {
     if (Panels.ContainsKey(key))
     {
         UnityEngine.Debug.LogError($"panel already has key named {key}");
     }
     else
     {
         Panels.Add(key, status);
     }
 }
예제 #3
0
 public virtual void AddPanelStatus(string key, PanelStatus status)
 {
     if (!Panels.ContainsKey(key))
     {
         Panels.Add(key, status);
     }
     else
     {
         Debug.LogError($"Duplicate dialogue status with key ({key}).");
     }
 }
예제 #4
0
        public virtual PanelStatus GetPanelStatus(string key)
        {
            if (Panels.ContainsKey(key))
            {
                return(Panels[key]);
            }

            var panelStatus = new PanelStatus {
                Read = Read
            };

            Panels.Add(key, panelStatus);
            return(panelStatus);
        }
예제 #5
0
        public UserPanel(UserEncounter encounter, Panel data, PanelStatus status)
        {
            Encounter = encounter;
            Data      = data;
            Status    = status;
            if (data.Pins != null && data.Pins.HasPin())
            {
                PinGroup = new UserPinGroup(encounter, data.Pins, status.PinGroupStatus);
                PinGroup.StatusChanged += UpdateIsRead;
            }

            foreach (var panel in data.ChildPanels)
            {
                var userPanel = new UserPanel(encounter, panel.Value, status.GetChildPanelStatus(panel.Key));
                userPanel.StatusChanged += UpdateIsRead;
                ChildPanels.Add(panel.Key, userPanel);
            }
        }
예제 #6
0
 public virtual void AddPanelStatus(string key, PanelStatus status) => Panels.Add(key, status);