public MyControllableEntityControlHelper(
     MyStringId controlId,
     Action <IMyControllableEntity> action,
     Func <IMyControllableEntity, bool> valueGetter,
     MyStringId label,
     MySupportKeysEnum supportKeys = MySupportKeysEnum.NONE)
     : this(controlId, action, valueGetter, label, MySpaceTexts.ControlMenuItemValue_On, MySpaceTexts.ControlMenuItemValue_Off, supportKeys)
 {
 }
 public MyControllableEntityControlHelper(
     MyStringId controlId,
     Action<IMyControllableEntity> action,
     Func<IMyControllableEntity, bool> valueGetter,
     MyStringId label,
     MySupportKeysEnum supportKeys = MySupportKeysEnum.NONE)
     : this(controlId, action, valueGetter, label, MySpaceTexts.ControlMenuItemValue_On, MySpaceTexts.ControlMenuItemValue_Off, supportKeys)
 {
 }
 public MyControllableEntityControlHelper(
     MyStringId controlId,
     Action<IMyControllableEntity> action,
     Func<IMyControllableEntity, bool> valueGetter,
     MyStringId label, 
     MyStringId onValue, 
     MyStringId offValue,
     MySupportKeysEnum supportKeys = MySupportKeysEnum.NONE)
     : base(controlId, supportKeys)
 {
     m_action = action;
     m_valueGetter = valueGetter;
     m_label = MyTexts.GetString(label);
     m_onValue = MyTexts.GetString(onValue);
     m_offValue = MyTexts.GetString(offValue);
 }
 public MyControllableEntityControlHelper(
     MyStringId controlId,
     Action <IMyControllableEntity> action,
     Func <IMyControllableEntity, bool> valueGetter,
     MyStringId label,
     MyStringId onValue,
     MyStringId offValue,
     MySupportKeysEnum supportKeys = MySupportKeysEnum.NONE)
     : base(controlId, supportKeys)
 {
     m_action      = action;
     m_valueGetter = valueGetter;
     m_label       = MyTexts.GetString(label);
     m_onValue     = MyTexts.GetString(onValue);
     m_offValue    = MyTexts.GetString(offValue);
 }
 private string ConstructCompleteControl(string controlName, MySupportKeysEnum supportKeys)
 {
     m_tmpBuilder.Clear();
     if (HasSupportKey(supportKeys, MySupportKeysEnum.CTRL))
     {
         m_tmpBuilder.Append(CTRL).Append(PLUS);
     }
     if (HasSupportKey(supportKeys, MySupportKeysEnum.SHIFT))
     {
         m_tmpBuilder.Append(SHIFT).Append(PLUS);
     }
     if (HasSupportKey(supportKeys, MySupportKeysEnum.ALT))
     {
         m_tmpBuilder.Append(ALT).Append(PLUS);
     }
     m_tmpBuilder.Append(controlName);
     return(m_tmpBuilder.ToString());
 }
 public MyAbstractControlMenuItem(string controlName, MySupportKeysEnum supportKeys = MySupportKeysEnum.NONE)
 {
     ControlName = ConstructCompleteControl(controlName, supportKeys);
 }
 public MyAbstractControlMenuItem(MyStringId controlCode, MySupportKeysEnum supportKeys = MySupportKeysEnum.NONE)
 {
     ControlName = ConstructCompleteControl(GetControlName(controlCode), supportKeys);
 }
 private bool HasSupportKey(MySupportKeysEnum collection, MySupportKeysEnum key)
 {
     return((collection & key) == key);
 }
 public MyAbstractControlMenuItem(string controlName, MySupportKeysEnum supportKeys = MySupportKeysEnum.NONE)
 {
     ControlName = ConstructCompleteControl(controlName, supportKeys);
 }
 public MyAbstractControlMenuItem(MyStringId controlCode, MySupportKeysEnum supportKeys = MySupportKeysEnum.NONE)
 {
     ControlName = ConstructCompleteControl(GetControlName(controlCode), supportKeys);
 }
 private bool HasSupportKey(MySupportKeysEnum collection, MySupportKeysEnum key)
 {
     return (collection & key) == key;
 }
 private string ConstructCompleteControl(string controlName, MySupportKeysEnum supportKeys)
 {
     m_tmpBuilder.Clear();
     if (HasSupportKey(supportKeys, MySupportKeysEnum.CTRL)) m_tmpBuilder.Append(CTRL).Append(PLUS);
     if (HasSupportKey(supportKeys, MySupportKeysEnum.SHIFT)) m_tmpBuilder.Append(SHIFT).Append(PLUS);
     if (HasSupportKey(supportKeys, MySupportKeysEnum.ALT)) m_tmpBuilder.Append(ALT).Append(PLUS);
     m_tmpBuilder.Append(controlName);
     return m_tmpBuilder.ToString();
 }