protected MKey AddKey(string displayName, string key, List <KeyCode> keys) { MKey mKey = new MKey(displayName, key, keys[0]); foreach (KeyCode k in keys) { mKey.AddOrReplaceKey(keys.IndexOf(k), k); } myMapperTypes.Add(mKey); BlockPropertiseChangedEvent += () => { keys.Clear(); for (int i = 0; i < mKey.KeysCount; i++) { keys.Add(mKey.GetKey(i)); } }; mKey.KeysChanged += () => { keys.Clear(); for (int i = 0; i < mKey.KeysCount; i++) { keys.Add(mKey.GetKey(i)); } }; return(mKey); }
public override void DisplayInMapper(bool value) { base.DisplayInMapper(value); var _value = value && GuidedRocketToggle.IsActive; //for guided rocket var _value1 = _value && SettingMenu.Value == 1; //Radar setting var _value2 = _value1 && (RadarTypeMenu.Value == (int)RadarScript.RadarTypes.ActiveRadar); //for active radar var _value3 = _value && SettingMenu.Value == 0; //Rocket setting guided var _value4 = (GuidedRocketToggle.IsActive ? _value3 : value); var _value5 = (Enhancement.IsActive ? _value4 : true); GuidedRocketToggle.DisplayInMapper = value; //Display when guided is ON SettingMenu.DisplayInMapper = _value; //Display when radar setting is selected SPTeamKey.DisplayInMapper = _value1 && (!StatMaster.isMP || Playerlist.Players.Count == 1); RadarTypeMenu.DisplayInMapper = _value1; //PredictionSlider.DisplayInMapper = _value1; TorqueSlider.DisplayInMapper = _value1; GuideDelaySlider.DisplayInMapper = _value1; //Display for active Radar only ManualOverrideKey.DisplayInMapper = _value2; ShowRadarToggle.DisplayInMapper = _value2; ActiveGuideRocketSearchAngleSlider.DisplayInMapper = _value2; LockTargetKey.DisplayInMapper = _value2; ShowPredictionToggle.DisplayInMapper = _value2; ProjectileSpeedSlider.DisplayInMapper = _value2 && ShowPredictionToggle.IsActive; DragSlider.DisplayInMapper = /*_value2 && ShowPredictionToggle.IsActive*/ false; //Display for rocket setting StabilityToggle.DisplayInMapper = _value3; ImpactFuzeToggle.DisplayInMapper = _value3; ProximityFuzeToggle.DisplayInMapper = _value3; ProximityFuzeRangeSlider.DisplayInMapper = _value3 && ProximityFuzeToggle.IsActive; //Display for guided OFF & rocket setting when guided ON AutoEjectToggle.DisplayInMapper = _value4 && GroupFireKey.GetKey(0) != KeyCode.None; GroupFireKey.DisplayInMapper = _value4; GroupFireRateSlider.DisplayInMapper = _value4 && GroupFireKey.GetKey(0) != KeyCode.None; NoSmokeToggle.DisplayInMapper = _value4; HighExploToggle.DisplayInMapper = _value4; //Display for BE off & rocket setting when guided ON rocket.LaunchKey.DisplayInMapper = _value5; rocket.DelaySlider.DisplayInMapper = _value5; rocket.ChargeSlider.DisplayInMapper = _value5; rocket.PowerSlider.DisplayInMapper = _value5; //Tried to hide colour slider, but failed. //try { rocket.ColourSlider.DisplayInMapper = _value5; } //catch (System.Exception) { } }
public override MKey AddKey(MKey key) { key = base.AddKey(ExtendKey(key, key.GetKey(0))); var keyIdx = MapperTypes.IndexOf(key); return(key); }
public IEnumerable <MappedKeyItem> GetMKeys(MKey key) { // Unified interface to get all Int codes from any Key and ExtKey if (key is MExtKey mk) { //for (int i = 0; i < key.KeysCount; ++i) // yield return mk.ResolveKey(i); foreach (var k in mk.ResolveKeys()) { yield return(k); } } else { if (key.useMessage) { for (int i = 0; i < key.message.Length; ++i) { yield return(new MappedKeyItem(key.message[i])); } } else { for (int i = 0; i < key.KeysCount; ++i) { yield return(new MappedKeyItem(key.GetKey(i))); } } } }
public IEnumerable <uint> GetMKeys(MKey key) { // Unified interface to get all Int codes from any Key and ExtKey if (key is MExtKey mk) { for (int i = 0; i < key.KeysCount; ++i) { yield return(mk.ResolveKey(i)); } } else { for (int i = 0; i < key.KeysCount; ++i) { yield return((uint)key.GetKey(i)); } } }
public bool IsNativeHeld(MKey key) { // If a key is pressed on hardware keyboard bool result = false; if (!key.Ignored) { for (int i = 0; i < key.KeysCount; i++) { if (KeyInput.IsHeld(key.GetKey(i))) { result = true; break; } } } return(result); }
public override MKey AddKey(MKey key) { key = base.AddKey(ExtendKey(key, key.GetKey(0))); return(key); }