Ejemplo n.º 1
0
        public void Show(string title, VehicleParked.Flags checkedFlags, OnParkedFlagsSet callback)
        {
            m_callback1  = null;
            m_callback2  = callback;
            m_label.text = title;

            m_flagsPanel.isVisible       = false;
            m_parkedFlagsPanel.isVisible = true;

            var flags = (VehicleParked.Flags[])Enum.GetValues(typeof(VehicleParked.Flags));

            for (int i = 0; i < flags.Length; i++)
            {
                if ((checkedFlags & flags[i]) > 0)
                {
                    m_flagBoxDictAlt[flags[i]].isChecked = true;
                }
                else
                {
                    m_flagBoxDictAlt[flags[i]].isChecked = false;
                }
            }

            isVisible = true;
            m_label.relativePosition = new Vector3(WIDTH / 2 - m_label.width / 2, 10);
        }
Ejemplo n.º 2
0
 private void Done()
 {
     if (m_callback1 != null)
     {
         Vehicle.Flags flags = 0;
         foreach (var v in m_boxFlagDict)
         {
             if (v.Key.isChecked)
             {
                 flags |= v.Value;
             }
         }
         Debug.LogWarning(flags.ToString());
         m_callback1.Invoke(flags);
     }
     else if (m_callback2 != null)
     {
         VehicleParked.Flags flags = 0;
         foreach (var v in m_boxFlagDictAlt)
         {
             if (v.Key.isChecked)
             {
                 flags |= v.Value;
             }
         }
         Debug.LogWarning(flags.ToString());
         m_callback2.Invoke(flags);
     }
     isVisible = false;
 }
 internal static bool IsFlagSet(this VehicleParked.Flags value, VehicleParked.Flags flag) => (value & flag) != 0;