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 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 override void SafeAwake() { HardnessMenu = /*BB.*/ AddMenu("Hardness", /*HardnessIndex*/ 0, LanguageManager.Instance.CurrentLanguage.MetalHardness /*, false*/); ExtendKey = /*BB.*/ AddKey(LanguageManager.Instance.CurrentLanguage.Extend, "Extend", KeyCode.E); ShrinkKey = /*BB.*/ AddKey(LanguageManager.Instance.CurrentLanguage.Retract, "Shrink", KeyCode.F); HydraulicToggle = /*BB.*/ AddToggle(LanguageManager.Instance.CurrentLanguage.HydraulicMode, "Pressure", /*Hydraulic*/ false); R2CToggle = /*BB.*/ AddToggle(LanguageManager.Instance.CurrentLanguage.ReturnToCenter, "Return to center", /* R2C*/ false); DamperSlider = /*BB.*/ AddSlider(LanguageManager.Instance.CurrentLanguage.Damper, "Damper", /*Damper*/ 1f, 0f, 5f); FeedSlider = /*BB.*/ AddSlider(LanguageManager.Instance.CurrentLanguage.FeedSpeed, "feed", /*Feed*/ 0.5f, 0f, 2f); ExtendLimitSlider = /*BB.*/ AddSlider(LanguageManager.Instance.CurrentLanguage.ExtendLimit, "ExtendLimit", /*ExtendLimit*/ 1f, 0f, 3f); ShrinkLimitSlider = /*BB.*/ AddSlider(LanguageManager.Instance.CurrentLanguage.RetractLimit, "ShrinkLimit", /*RetractLimit*/ 1f, 0f, 3f); SpeedSlider = FeedSlider; base.SafeAwake(); #if DEBUG ConsoleController.ShowMessage("悬挂添加进阶属性"); #endif }
MExtKey ExtendKey(MKey baseKey, KeyCode defaultValue) { var newKey = new MExtKey(baseKey.NameLocalisationId, baseKey.Key, defaultValue, this, baseKey.isEmulator); //newKey.DeSerialize(baseKey.Serialize()); return(newKey); }
public override MKey AddKey(MKey key) { key = base.AddKey(ExtendKey(key, key.GetKey(0))); var keyIdx = MapperTypes.IndexOf(key); return(key); }
public override void SafeAwake() { #region 基本功能参数初始化 launch_key = AddKey(LanguageManager.Instance.CurrentLanguage.launch, "Launch", KeyCode.L); launch_key.KeysChanged += () => { changedPropertise(); }; thrustForce_slider = AddSlider(LanguageManager.Instance.CurrentLanguage.thrustForce, "Thrust Force", 1, 0f, 10f); thrustForce_slider.ValueChanged += (value) => { changedPropertise(); }; thrustTime_slider = AddSlider(LanguageManager.Instance.CurrentLanguage.thrustTime, "Thrust Time", 1, 0f, 10f); thrustTime_slider.ValueChanged += (value) => { changedPropertise(); }; DragForce_slider = AddSlider(LanguageManager.Instance.CurrentLanguage.drag, "DRAG", 0.5f, 0.2f, 3f); DragForce_slider.ValueChanged += (value) => { changedPropertise(); }; thrustDelay_slider = AddSlider(LanguageManager.Instance.CurrentLanguage.thrustDelay, "Thrust Delay", 0, 0f, 10f); thrustDelay_slider.ValueChanged += (value) => { changedPropertise(); }; //colliderDelay_slider = AddSlider("碰撞开启 0.05s", "Collider Enable", 0f, 0f, 0.5f); //colliderDelay_slider.ValueChanged += (value) => { changedPropertise(); }; #endregion healthBar = GetComponent <BlockHealthBar>(); initRocketScript(); changedPropertise(); //DisplayInMapper(0); }
public override void SafeAwake() { HardnessMenu = BB.AddMenu(LanguageManager.hardness, Hardness, MetalHardness, false); HardnessMenu.ValueChanged += (int value) => { Hardness = value; ChangedProperties(); }; ExtendKey = BB.AddKey(LanguageManager.extend, "Extend", KeyCode.E); ShrinkKey = BB.AddKey(LanguageManager.retract, "Shrink", KeyCode.F); HydraulicToggle = BB.AddToggle(LanguageManager.hydraulicMode, "Pressure", Hydraulic); HydraulicToggle.Toggled += (bool value) => { Hydraulic = R2CToggle.DisplayInMapper = ExtendKey.DisplayInMapper = ShrinkKey.DisplayInMapper = FeedSlider.DisplayInMapper = ExtendLimitSlider.DisplayInMapper = ShrinkLimitSlider.DisplayInMapper = value; ChangedProperties(); }; R2CToggle = BB.AddToggle(LanguageManager.returnToCenter, "Return to center", R2C); R2CToggle.Toggled += (bool value) => { R2C = value; ChangedProperties(); }; FeedSlider = BB.AddSlider(LanguageManager.feedSpeed, "feed", Feed, 0f, 2f); FeedSlider.ValueChanged += (float value) => { Feed = value; ChangedProperties(); }; ExtendLimitSlider = BB.AddSlider(LanguageManager.extendLimit, "ExtendLimit", ExtendLimit, 0f, 3f); ExtendLimitSlider.ValueChanged += (float value) => { ExtendLimit = value; ChangedProperties(); }; ShrinkLimitSlider = BB.AddSlider(LanguageManager.retractLimit, "ShrinkLimit", RetractLimit, 0f, 3f); ShrinkLimitSlider.ValueChanged += (float value) => { RetractLimit = value; ChangedProperties(); }; #if DEBUG ConsoleController.ShowMessage("悬挂添加进阶属性"); #endif }
public override void SimulateUpdateAlways_EnhancementEnable() { if (StatMaster.isClient) { return; } getLastKey(); if (!(leftKey.IsHeld || rightKey.IsHeld) && ReturnToCenter && steeringWheel.AngleToBe != 0) { rigidbody.WakeUp(); float angleSpeed = Time.deltaTime * 100f * steeringWheel.targetAngleSpeed * rotationSpeedSlider.Value; float target = 0; if (!Near && lastKey != null) { float sign = Mathf.Sign(steeringWheel.AngleToBe); if (lastKey.Key == "left" && sign < 0) { target = 179; } else if (lastKey.Key == "right" && sign > 0) { target = -179; } else { target = 0; } } else { target = 0; } steeringWheel.AngleToBe = Mathf.MoveTowardsAngle(steeringWheel.AngleToBe, target, angleSpeed); } void getLastKey() { if (steeringWheel.AngleToBe != 0f) { if (leftKey.IsReleased) { lastKey = leftKey; } if (rightKey.IsReleased) { lastKey = rightKey; } } else { lastKey = null; } } }
protected override void SafeAwake() { CameraLookAtToggle = AddToggle("追踪摄像机", "TrackingCamera", cameraLookAtToggled); CameraLookAtToggle.Toggled += (bool value) => { cameraLookAtToggled = RecordTargetToggle.DisplayInMapper = LockTargetKey.DisplayInMapper = RotateSpeedSlider.DisplayInMapper = ResetViewKey.DisplayInMapper = value; ChangedProperties(); }; BlockDataLoadEvent += (XDataHolder BlockData) => { cameraLookAtToggled = CameraLookAtToggle.IsActive; }; RecordTargetToggle = AddToggle("记录目标", "RecordTarget", recordTarget); RecordTargetToggle.Toggled += (bool value) => { recordTarget = value; ChangedProperties(); }; BlockDataLoadEvent += (XDataHolder BlockData) => { recordTarget = RecordTargetToggle.IsActive; }; RotateSpeedSlider = AddSlider("追踪速度", "RotateSpeed", rotateSpeed, 1, 100, false); RotateSpeedSlider.ValueChanged += (float value) => { rotateSpeed = value; ChangedProperties(); }; BlockDataLoadEvent += (XDataHolder BlockData) => { rotateSpeed = RotateSpeedSlider.Value; }; LockTargetKey = AddKey("锁定目标", "LockTarget", lockKeys); LockTargetKey.InvokeKeysChanged(); ResetViewKey = AddKey("暂停/恢复追踪", "ResetView", resetKeys); ResetViewKey.InvokeKeysChanged(); // Get the actual camera's transform, not the joint's transform realCameraTransform = GetComponent <FixedCameraBlock>().CompoundTracker; realCameraTransform.gameObject.AddComponent <SmoothLookAt>(); defaultRotation = realCameraTransform.rotation; // Add reference to the camera's buildindex selfIndex = GetComponent <BlockBehaviour>().BuildIndex; #if DEBUG ConsoleController.ShowMessage("摄像机添加进阶属性"); #endif }
protected override void SafeAwake() { HardnessMenu = AddMenu("Hardness", Hardness, new List <string> { "低碳钢", "中碳钢", "高碳钢" }, false); HardnessMenu.ValueChanged += (int value) => { Hardness = value; ChangedProperties(); }; BlockDataLoadEvent += (XDataHolder BlockData) => { Hardness = HardnessMenu.Value; }; ExtendKey = AddKey("伸出", "Extend", ExtendKeyCodes); ShrinkKey = AddKey("收回", "Shrink", ShrinkKeyCodes); PressureToggle = AddToggle("液压模式", "Pressure", Pressure); PressureToggle.Toggled += (bool value) => { Pressure = ExtendKey.DisplayInMapper = ShrinkKey.DisplayInMapper = FeedSlider.DisplayInMapper = value; ChangedProperties(); }; BlockDataLoadEvent += (XDataHolder BlockData) => { Pressure = PressureToggle.IsActive; }; FeedSlider = AddSlider("进给速度", "feed", Feed, 0f, 2f, false); FeedSlider.ValueChanged += (float value) => { Feed = value; ChangedProperties(); }; BlockDataLoadEvent += (XDataHolder BlockData) => { Feed = FeedSlider.Value; }; ExtendLimitSlider = AddSlider("伸出限制", "ExtendLimit", ExtendLimit, 0f, 3f, false); ExtendLimitSlider.ValueChanged += (float value) => { ExtendLimit = value; ChangedProperties(); }; BlockDataLoadEvent += (XDataHolder BlockData) => { ExtendLimit = ExtendLimitSlider.Value; }; ShrinkLimitSlider = AddSlider("收缩限制", "ShrinkLimit", ShrinkLimit, 0f, 3f, false); ShrinkLimitSlider.ValueChanged += (float value) => { ShrinkLimit = value; ChangedProperties(); }; BlockDataLoadEvent += (XDataHolder BlockData) => { ShrinkLimit = ShrinkLimitSlider.Value; }; #if DEBUG ConsoleController.ShowMessage("悬挂添加进阶属性"); #endif }
/// <summary> /// return value or null /// </summary> public MValue GetValue(MKey k) { MValue v; return(_dict.TryGetValue(k, out v) ? v : null); }
public override void SafeAwake() { SwitchKey = /*BB.*/ AddKey("Switch", "Switch", KeyCode.R); SwitchKey.InvokeKeysChanged(); HeldToggle = /*BB.*/ AddToggle("Toggle", "Toggle", /*Held*/ false); //HeldToggle.Toggled += (value) => { Held = value; ChangedProperties(); }; }
public override void SafeAwake() { UpKey = AddKey(LanguageManager.Instance.CurrentLanguage.UpKey, "Up", KeyCode.U); DownKey = AddKey(LanguageManager.Instance.CurrentLanguage.DownKey, "Down", KeyCode.J); BackKey = AddKey(LanguageManager.Instance.CurrentLanguage.BackKey, "Back", KeyCode.K); ClutchKey = AddKey(LanguageManager.Instance.CurrentLanguage.ClutchKey, "Clutch", KeyCode.C); ModelMenu = AddMenu("Model", 0, LanguageManager.Instance.CurrentLanguage.Model); StrengthSlider = AddSlider(LanguageManager.Instance.CurrentLanguage.Strength, "Force", Strength, 0, 10f); RatioSlider = AddSlider(LanguageManager.Instance.CurrentLanguage.Ratio, "Ratio", Ratio, 0f, 2f); ModelMenu.ValueChanged += (value) => { Model = (model)ModelMenu.Value; DisplayInMapper(); }; StrengthSlider.ValueChanged += (value) => { Strength = value; }; RatioSlider.ValueChanged += (value) => { Ratio = value; }; OutAxis = null; foreach (var go in GetComponentsInChildren <Transform>()) { if (go.name == "OutAxis") { OutAxis = go.gameObject; } } if (OutAxis == null) { OutAxis = GameObject.CreatePrimitive(PrimitiveType.Cylinder); OutAxis.name = "OutAxis"; OutAxis.transform.SetParent(transform); OutAxis.transform.position = transform.TransformPoint(transform.InverseTransformPoint(transform.position) + Vector3.forward * 0.75f); OutAxis.transform.rotation = transform.rotation; OutAxis.transform.localEulerAngles = Vector3.right * 90f; OutAxis.transform.localScale = Vector3.one * 0.2f; CJ_Axis = OutAxis.AddComponent <ConfigurableJoint>(); CJ_Axis.axis = Vector3.up; CJ_Axis.secondaryAxis = Vector3.right; CJ_Axis.connectedBody = Rigidbody; CJ_Axis.angularYMotion = CJ_Axis.angularZMotion = ConfigurableJointMotion.Locked; CJ_Axis.xMotion = CJ_Axis.yMotion = CJ_Axis.zMotion = ConfigurableJointMotion.Locked; CJ_Axis.rotationDriveMode = RotationDriveMode.XYAndZ; AddPoint(OutAxis, Vector3.up * -1.25f, Vector3.right * 90f, true); } else { CJ_Axis = OutAxis.GetComponent <ConfigurableJoint>(); } axisRigidbody = OutAxis.GetComponent <Rigidbody>(); axisRigidbody.isKinematic = true; CJ = GetComponent <ConfigurableJoint>(); DisplayInMapper(); }
public override void SafeAwake() { ActivationKey = AddKey("Activation", //按键信息 "ACT", //名字 KeyCode.P); //默认按键 CloakFieldSize = AddSlider("Clock Field Size", "size", 10, 0.01f, 50); CloakExtendingTime = AddSlider("Clock Field Extend Time", "time", 3, 0, 20); DirectionVisualization = AddToggle("Visual Effect for activition", "vfx", true); }
/// <summary> /// Creates a Block handler. /// </summary> /// <param name="bb">BlockBehaviour object.</param> public Piston(BlockBehaviour bb) : base(bb) { _sc = bb.GetComponent <SliderCompress>(); _toggleMode = ToggleFieldInfo.GetValue(_sc) as MToggle; _extendKey = ExtendFieldInfo.GetValue(_sc) as MKey; _defaultStartLimit = _sc.startLimit; _defaultNewLimit = _sc.newLimit; }
public override void SafeAwake() { activateKey = AddKey("Activate", "shoot", KeyCode.Y); rangeSlider = AddSlider("Range", "strength", 15f, 0.5f, 30f); radiusSlider = AddSlider("Radius", "radius", GetRadiusFromRange(rangeSlider.Value), 0.5f, 2f); holdToShootToggle = AddToggle("Hold to shoot", "hold-to-fire", false); rangeSlider.ValueChanged += RangeChanged; radiusSlider.ValueChanged += RadiusChanged; }
/// <summary> /// Creates a Block handler. /// </summary> /// <param name="bb">BlockBehaviour object.</param> public Piston(BlockBehaviour bb) : base(bb) { sc = bb.GetComponent <SliderCompress>(); toggleMode = toggleFieldInfo.GetValue(sc) as MToggle; extendKey = extendFieldInfo.GetValue(sc) as MKey; defaultStartLimit = sc.startLimit; defaultNewLimit = sc.newLimit; }
public float ReadValue(MKey key) { // Get max output value from all codes, used by MKey if (IsNativeHeld(key)) { return(1); } return(GetMKeys(key).Select(x => IsAnyEmulating(x)).DefaultIfEmpty().Max()); }
public override void SafeAwake() { size = AddSlider("Portal Size", "size", Size, 0.5f, 3f); clipPct = AddSlider("Portal Overlap", "clip", 0.12f, 0f, 0.2f); correction = AddSlider("Center Correction", "correction", Correction, 0f, 1f); shootA = AddKey("Orange Portal", "shoot-a", KeyCode.Y); shootB = AddKey("Blue Portal", "shoot-b", KeyCode.U); size.ValueChanged += UpdateAllPortalDevicesSize; correction.ValueChanged += UpdateAllPortalDevicesCentering; }
public override void SafeAwake() { activateKey = AddKey("Activate", "activate", KeyCode.B); triggerMode = AddMenu("triggerMode", 0, new List <string>() { "Trigger: Press", "Trigger: Release" }); configureToggle = AddToggle("Configure", "configure", false); configureToggle.Toggled += Toggled; }
public override void OnRemoteEmulate(MKey key, bool emulate) { if (!emulate) { ToggleLED(0); } else { ToggleLED(1); } }
void EnglishInitialize() { // Setup config window LaserEditModeMenu = AddMenu("laserEditMode", 0, new List <string>() { "Ability", "Misc." }); //LaserAbilityModeMenu = AddMenu("laserAbilityMode", 0, new List<string>() { "Fire", "Kinetic", "Freeze", "Explosive", "Just Visual Effect" }); LaserAbilityModeMenu = AddMenu("laserAbilityMode", 0, new List <string>() { "Fire", "Kinetic", "Not Available", "Explosive(N/A in MP)", "Visual Effects Only" }); LaserColourSlider = AddColourSlider("Beam Colour", "laserColour", Color.red, true); LaserFocusSlider = AddSlider("Laser Focus", "laserFocus", 1f, 0.08f, 0.5f); LaserLengthSlider = AddSlider("Laser Length", "laserLength", 200f, 0.1f, 1500); LaserSafetyRange = AddSlider("Safety Length", "laserSafeLength", 1f, 0.1f, 1500); //LaserKineticUpDownSlider = AddSlider("Up/Down Force", "laserKinUpDown", 1f, -2.5f, 2.5f); LaserKineticInOutSlider = AddSlider("Force", "laserKinInOut", 0f, -2.5f, 2.5f); //LaserKineticSideSlider = AddSlider("Sideways Force", "laserKinSide", 0f, -2.5f, 2.5f); //LaserFastUpdateToggle = AddToggle("Fast Raycasting", "laserFastUpdate", false); LaserOnOffToggle = AddToggle("Start On", "laserOnOffToggle", true); LightOptionToggle = AddToggle("Always Provide Light", "LightProbeToggle", false); LaserOnOffKey = AddKey("On/Off", "laserOnOffKey", KeyCode.Y); LaserWidth = AddSlider("Laser Width", "laserWidth", 0.5f, 0.001f, 10f); PenetrativeLengthMultiplier = AddSlider("Penetrative Multiplier", "PeneMulty", 0, 0, 1); EffectActivateKey = AddKey("Charge Laser", "DoBomb", KeyCode.K); EffectKeyText1 = "Charge Laser"; EffectKeyText2 = "Deploy Bomb"; ShrinkEffectToggle = AddToggle("Use Charging Effect", "UseShrink", true); InvertShrinking = AddToggle("Inverse Shrinking to Expanding", "InverseShrink", false); ChargeHoldGasp = AddSlider("Charging Countdown", "CountDown", 2.3f, 0, 10f); EffectParticleChargingPosition = AddMenu("ChargePosition", 0, new List <string> { "Both block and target", "Only Block have particles", "Only target have particles", "None" }); HoldingToEmit = AddToggle("Only emit laser when holding", "HoldOnly", false); UseLegacy = AddToggle("Use Legacy Rending", "Legacy", true); UseNotTrans = AddToggle("Nontransparent", "NonTran", false); // register mode switching functions with menu delegates LaserAbilityModeMenu.ValueChanged += CycleAbilityMode; }
public override void SafeAwake() { Key1 = AddKey("Spawn block", //按键信息 "Spawn", //名字 KeyCode.V); //默认按键 List <string> list = new List <string>(); foreach (var pair in PrefabMaster.BlockPrefabs) { list.Add(pair.Value.name); } 模块ID = AddMenu("Block", 0, list); 模块ID.ValueChanged += (v) => { blockModified = true; }; modifyBlock = AddToggle("Modify Spawned Block", "modifySpawnedBlock", false); modifyBlock.Toggled += (b) => { if (b) { if (blockModified) { SpawnChild(); } modifyBlock.IsActive = false; BlockMapper.Open(blockToSpawn); } }; 生成间隔 = AddSlider("Spawn Frequency", //滑条信息 "Freq", //名字 0.25f, //默认值 0f, //最小值 10f); //最大值 生成大小 = AddSlider("Block Scale", //滑条信息 "Scale", //名字 1f, //默认值 0.01f, //最小值 100f); //最大值 继承速度 = AddToggle("Inherit My Velocity", //toggle信息 "IMV", //名字 true); //默认状态 FunnyMode = AddToggle("Funny Mode", //toggle信息 "FMD", //名字 false); //默认状态 FunnyMode.Toggled += (t) => { blockModified = true; modifyBlock.DisplayInMapper = !t; }; }
protected override void OnSimulateStart() { // Initialisation for simulation fireTimeRecorded = canTrigger = targetAquired = searchStarted = targetHit = false; activeGuideRocket = true; target = null; hitsIn = Physics.OverlapSphere(rocket.transform.position, safetyRadius); StopAllCoroutines(); // Set high explo to false bombHasExploded = false; foreach (var slider in BB.Sliders) { if (slider.Key == "charge") { explosiveCharge = slider.Value; // Make sure the high explo mode is not too imba if (highExploActivated) { bombExplosiveCharge = Mathf.Clamp(explosiveCharge, 0f, 1.5f); } } } foreach (var key in BB.Keys) { if (key.Key == "launch") { LaunchKey = key; } } if (recordTarget && !activeGuideRocket) { // Trying to read previously saved target int targetIndex = -1; BlockBehaviour targetBlock = new BlockBehaviour(); // Read the target's buildIndex from the dictionary if (!Machine.Active().GetComponent <TargetScript>().previousTargetDic.TryGetValue(selfIndex, out targetIndex)) { target = null; return; } // Aquire target block's transform from the target's index try { Machine.Active().GetBlockFromIndex(targetIndex, out targetBlock); target = Machine.Active().GetSimBlock(targetBlock).transform; } catch (Exception) { ConsoleController.ShowMessage("Cannot get target block's transform"); } } }
/// <summary> /// retrieves cached MKey or generates it if needed /// </summary> public MKey GetKey(uint id) { MKey k; if (_idKeyCache.TryGetValue(id, out k) == false) { k = new MKey(id); _idKeyCache.Add(id, k); } return(k); }
/// <summary> /// retrieves cached MKey or generates it if needed /// </summary> public MKey GetKey(int hash) { MKey k; if (_hashKeyCache.TryGetValue(hash, out k) == false) { k = new MKey(hash); _hashKeyCache.Add(hash, k); } return(k); }
public override void SafeAwake() { SwitchKey = /*BB.*/ AddKey(LanguageManager.Instance.CurrentLanguage.Enabled, "Switch", KeyCode.O); HardnessMenu = /*BB.*/ AddMenu("Hardness", /*HardnessIndex*/ 1, LanguageManager.Instance.CurrentLanguage.WoodenHardness /*, false*/); EffectToggle = /*BB.*/ AddToggle(LanguageManager.Instance.CurrentLanguage.EnabledOnAwake, "Effect", /*Effect*/ true); ToggleToggle = /*BB.*/ AddToggle(LanguageManager.Instance.CurrentLanguage.ToggleMode, "Toggle Mode", /*Toggle*/ true); LiftIndicatorToggle = /*BB.*/ AddToggle(LanguageManager.Instance.CurrentLanguage.LiftIndicator, "Lift Indicator", /*LiftIndicator*/ false); base.SafeAwake(); #if DEBUG ConsoleController.ShowMessage("桨叶添加进阶属性"); #endif }
public override void SafeAwake() { Key1 = AddKey("Lock On", //按键信息 "Locked", //名字 KeyCode.T); //默认按键 Key2 = AddKey("Launch", //按键信息 "Launch", //名字 KeyCode.X); //默认按键 NoBlocking = AddToggle("Destroy everything on the way", //toggle信息 "NoBK", //名字 false); //默认状态 }
public override int GetHashCode() { int hash = 1; if (mKey_ != null) { hash ^= MKey.GetHashCode(); } if (mValue_ != null) { hash ^= MValue.GetHashCode(); } return(hash); }
private void ChineseInit() { ActivateTargetIndicator = AddKey("投弹指示光斑", //按键信息 "TI", //名字 KeyCode.C); //默认按键 HideThisPanel = AddToggle("隐藏本模块的信息显示器", //toggle信息 "Hide", //名字 false); //默认状态 //HidePanel = AddKey("Hide Panel", "Panel", KeyCode.Backspace); AdvTI = AddToggle("高级投弹指示器", //toggle信息 "AdvTI", //名字 false); //默认状态 AdvTIS = AddSlider("投弹指示器线段数量", "LineAmt", 20f, 2f, 45f); StartColour = AddColourSlider("投弹指示器起始色", "SColor", Color.red, true); EndColour = AddColourSlider("投弹指示器结束色", "EColor", Color.yellow, true); ConfigMenu = AddMenu("ConfigMenu", 0, new List <string> { "飞行信息设置", "HUD设置" }); HUDConfigMenu = AddMenu("HUDConfigMenu", 0, new List <string> { "中心", "高度", "俯仰", "罗盘", "地图中心", "小地图" }); ActiveHUD = AddKey("开启HUD", "HUD", KeyCode.F); Height = AddToggle("高度指示", "HeightIndi", true); Pitch = AddToggle("俯仰指示", "PitchIndi", true); Center = AddToggle("屏幕中心指示", "CenterIndi", true); Direction = AddToggle("罗盘", "DirectIndi", true); MapCenter = AddToggle("地图中心指示", "MapCenterIndi", true); HeightIndicator = AddToggle("相机高度指示", "MyHeightIndi", true); IceFreezeIndicator = AddToggle("结冰层指示", "IceIndi", true); GroundIndicator = AddToggle("地面指示", "0mIndi", true); OneThousandIndicator = AddToggle("1000m指示", "1000mIndi", true); MiniMap = AddToggle("小地图", "Minimap", false); MiniMapLerpValue = AddSlider("小地图平滑度", "MinimapLerp", 0.015f, 0, 1); MiniMapHeight = AddSlider("小地图高度", "MinimapHeight", 400, 5, 1300); UseLockWindow = AddToggle("使用预锁定窗口", "UseLockWindow", false); LockerHeight = AddSlider("预锁定窗口高度", "LockerH", 800, 100, 2000); LockerWidth = AddSlider("预锁定窗口宽度", "LockerW", 800, 100, 2000); ReduceCameraShake = AddToggle("减轻相机抖动", "Noshake", false); }
void ChineseInitialize() { // Setup config window LaserEditModeMenu = AddMenu("laserEditMode", 0, new List <string>() { "功能", "通用设置" }); LaserAbilityModeMenu = AddMenu("laserAbilityMode", 0, new List <string>() { "点燃", "施力", "N/A", "爆破", "就好看" }); LaserColourSlider = AddColourSlider("激光颜色", "laserColour", Color.red, true); LaserFocusSlider = AddSlider("聚焦乘子", "laserFocus", 1f, 0.08f, 0.5f); LaserLengthSlider = AddSlider("长度", "laserLength", 200f, 0.1f, 1500); LaserSafetyRange = AddSlider("安全长度", "laserSafeLength", 1f, 0.1f, 1500); LaserKineticInOutSlider = AddSlider("施力力度", "laserKinInOut", 0f, -2.5f, 2.5f); //LaserFastUpdateToggle = AddToggle("Fast Raycasting", "laserFastUpdate", false); LaserOnOffToggle = AddToggle("默认开启", "laserOnOffToggle", true); LightOptionToggle = AddToggle("保持提供灯光", "LightProbeToggle", false); LaserOnOffKey = AddKey("发射激光", "laserOnOffKey", KeyCode.Y); LaserWidth = AddSlider("宽度", "laserWidth", 0.5f, 0.001f, 10f); PenetrativeLengthMultiplier = AddSlider("穿透损失乘子", "PeneMulty", 0, 0, 1); EffectActivateKey = AddKey("聚能特效", "DoBomb", KeyCode.K); EffectKeyText1 = "聚能特效"; EffectKeyText2 = "部署炸弹"; ShrinkEffectToggle = AddToggle("使用粒子/收缩特效", "UseShrink", true); InvertShrinking = AddToggle("反转为扩散特效(粒子不变)", "InverseShrink", false); ChargeHoldGasp = AddSlider("间隔", "CountDown", 2.3f, 0, 10f); EffectParticleChargingPosition = AddMenu("ChargePosition", 0, new List <string> { "所有点添加粒子", "发射端添加粒子效果", "接触点添加粒子效果", "无粒子效果" }); HoldingToEmit = AddToggle("仅在按住时激发激光", "HoldOnly", false); UseLegacy = AddToggle("使用传统渲染", "Legacy", false); UseNotTrans = AddToggle("使用不透明材质", "NonTran", false); // register mode switching functions with menu delegates LaserAbilityModeMenu.ValueChanged += CycleAbilityMode; }
public override void SafeAwake() { Key1 = AddKey("Spawn block", //按键信息 "Spawn", //名字 KeyCode.V); //默认按键 List<string> list = new List<string>(); foreach (BlockPrefab pair in PrefabMaster.BlockPrefabs.Values) { list.Add(pair.gameObject.GetComponent<MyBlockInfo>().blockName); 对应的IDs.Add(pair.ID); } 模块ID = AddMenu("Block", 0, list); 模块ID.ValueChanged += IDChanged; modifyBlock = AddToggle("Modify Spawned Block", "modifySpawnedBlock", false); modifyBlock.Toggled += (b) => { if (b) { SpawnChild(); modifyBlock.IsActive = false; BlockMapper.Open(blockToSpawn); } }; 生成间隔 = AddSlider("Spawn Frequency", //滑条信息 "Freq", //名字 0.25f, //默认值 0f, //最小值 10f); //最大值 生成大小 = AddSlider("Block Scale", //滑条信息 "Scale", //名字 1f, //默认值 0.01f, //最小值 100f); //最大值 继承速度 = AddToggle("Inherit My Velocity", //toggle信息 "IMV", //名字 true); //默认状态 FunnyMode = AddToggle("Funny Mode", //toggle信息 "FMD", //名字 false); //默认状态 FunnyMode.Toggled += (t) => { modifyBlock.DisplayInMapper = !t; }; }
public override void SafeAwake() { 引爆 = AddKey("Detonated", //按键信息 "Deto", //名字 KeyCode.K); //默认按键 保险 = AddKey("Safety", //按键信息 "Safe", //名字 KeyCode.Alpha1); //默认按键 延迟 = AddSlider("Collision Explosion Delay", //滑条信息 "Delay", //名字 0.2f, //默认值 0f, //最小值 10f); //最大值 模式 = AddMenu("Modes", 0, new List<string>() { "Bomb", "Motion Stopper", "DestroyImmediate" }); }
public override void SafeAwake() { ActivateTargetIndicator = AddKey("Target Indicator", //按键信息 "TI", //名字 KeyCode.C); //默认按键 HideThisPanel = AddToggle("Hide this\n block's panel", //toggle信息 "Hide", //名字 false); //默认状态 ActiveHUD = AddKey("Toggle HUD", "HUD", KeyCode.Tab); HidePanel = AddKey("Hide Panel", "Panel", KeyCode.Backspace); AdvTI = AddToggle("ADVANCED \n Target Indicator", //toggle信息 "AdvTI", //名字 false); //默认状态 AdvTIS = AddSlider("Amount of Lines", "LineAmt", 20f, 2f, 45f); StartColour = AddColourSlider("Start Color of the line", "SColor", Color.red); EndColour = AddColourSlider("End Color of the line", "EColor", Color.yellow); }
//BlockLoader Specific method: is called right after the script is made - usually, //this is done for all blocks of this type and is safe as it waits for stuff like //colliders, visuals, resources and so on public override void SafeAwake() { //Set the blocks original scale orgScale = transform.localScale; activateKey = AddKey("Sound The Horn", //Display text "play", //save name KeyCode.H); //Keyboard button pitchSlider = AddSlider("Pitch", //Display Text "pitch", //save name 1f, //default value 0.5f, //minimum value 2f); //maximum value volumeSlider = AddSlider("Volume", //Display Text "volume", //save name 1f, //default value 0.1f, //minimum value 1f); //maximum value semitoneToggle = AddToggle("Semitone Snap", //Display Text "semitones", //save name true); //default value //Call HandleSemiToneSnap() when the slider value changes pitchSlider.ValueChanged += HandleSemitoneSnap; }
public override void SafeAwake() { Key1 = AddKey("Lock On", //按键信息 "Locked", //名字 KeyCode.T); //默认按键 Key2 = AddKey("Launch", //按键信息 "Launch", //名字 KeyCode.X); //默认按键 延迟 = AddSlider("Delay for detecting impact and target", //滑条信息 "Delay", //名字 0f, //默认值 0f, //最小值 5f); //最大值 不聪明模式 = AddToggle("Disable Smart Attack", //toggle信息 "NoSA", //名字 false); //默认状态 }