public static byte[] Pattern(uint deviceAddress, PatternAction action) { byte mAction; switch (action) { case PatternAction.Start: mAction = 0x1F; break; case PatternAction.Stop: mAction = 0x21; break; case PatternAction.Run: mAction = 0x23; break; default: mAction = 0x23; break; } return(Message.GetMessage(deviceAddress, 0x00, mAction, 0x00, 0x00)); }
public void Settings(int dmg = 0, float atkRange = 0, PatternAction pa = null) { damage = dmg; range = atkRange; onPatternAction = pa; _rb2D = GetComponent <Rigidbody2D>(); }
public void Setting(int dmg = 0, float atkRange = 0, PlayerBrain parShooter = null, PatternAction pa = null) { parentShooter = parShooter; _rb2D = GetComponent <Rigidbody2D>(); damage = dmg; range = atkRange; onPatternAction = pa; }
public void ClonePatternAction_TypeIsCorrect() { foreach (var type in GetAllActionTypes()) { PatternAction patternAction = null; if (type == typeof(AddChordAction)) { patternAction = new AddChordAction(new ChordDescriptor(Enumerable.Empty <DryWetMidi.MusicTheory.Note>(), SevenBitNumber.MinValue, MusicalTimeSpan.Eighth)); } else if (type == typeof(AddNoteAction)) { patternAction = new AddNoteAction(new NoteDescriptor(Notes.A1, SevenBitNumber.MinValue, MusicalTimeSpan.Eighth)); } else if (type == typeof(AddPatternAction)) { patternAction = new AddPatternAction(new PatternBuilder().Build()); } else if (type == typeof(AddTextEventAction <>)) { patternAction = new AddTextEventAction <TextEvent>(string.Empty); } else if (type == typeof(MoveToAnchorAction)) { patternAction = new MoveToAnchorAction(AnchorPosition.First); } else if (type == typeof(SetGeneralMidi2ProgramAction)) { patternAction = new SetGeneralMidi2ProgramAction(GeneralMidi2Program.AcousticBassStringSlap); } else if (type == typeof(SetGeneralMidiProgramAction)) { patternAction = new SetGeneralMidiProgramAction(GeneralMidiProgram.AcousticBass); } else if (type == typeof(SetProgramNumberAction)) { patternAction = new SetProgramNumberAction(SevenBitNumber.MinValue); } else if (type == typeof(StepBackAction)) { patternAction = new StepBackAction(MusicalTimeSpan.Quarter); } else if (type == typeof(StepForwardAction)) { patternAction = new StepForwardAction(MusicalTimeSpan.Quarter); } else { patternAction = (PatternAction)Activator.CreateInstance(type); } var patternActionClone = patternAction.Clone(); Assert.AreEqual(patternAction.GetType(), patternActionClone.GetType(), $"Clone of {type} is of invalid type."); } }
public byte[] Pattern(uint deviceAddress,PatternAction action) { byte mAction; switch (action) { case PatternAction.Start: mAction = 0x1F; break; case PatternAction.Stop: mAction = 0x21; break; case PatternAction.Run: mAction = 0x23; break; default: mAction = 0x23; break; } return Message.GetMessage(deviceAddress,0x00,mAction,0x00,0x00); }
static private void DoAction(PatternAction action, uint selectedPatterns, bool saveConfigs) { var app = App.Instance; var demos = app.SelectedWriteDemos; if (demos == null) { return; } if (selectedPatterns == 0) { app.LogError("You didn't check any pattern. Please check at least one to proceed."); return; } if (saveConfigs) { app.SaveBothConfigs(); } var privateConfig = app.PrivateConfig; if (privateConfig.PatternCutPlayerIndex == int.MinValue && string.IsNullOrEmpty(privateConfig.PatternCutPlayerName)) { app.LogError("The selected player name is empty. Please specify a player name or select a different matching method to proceed."); return; } var filePaths = new List <string>(); foreach (var demo in demos) { filePaths.Add(demo.FilePath); } var config = app.Config; var patterns = new List <UDT_DLL.udtPatternInfo>(); var resources = new ArgumentResources(); if (IsPatternActive(selectedPatterns, UDT_DLL.udtPatternType.Chat)) { if (config.ChatRules.Count == 0) { app.LogError("[chat] No chat matching rule defined. Please add at least one to proceed."); return; } var pattern = new UDT_DLL.udtPatternInfo(); UDT_DLL.CreateChatPatternInfo(ref pattern, resources, config.ChatRules); patterns.Add(pattern); } if (IsPatternActive(selectedPatterns, UDT_DLL.udtPatternType.FragSequences)) { if (privateConfig.FragCutAllowedMeansOfDeaths == 0) { app.LogError("[frag sequence] You didn't check any Mean of Death. Please check at least one to proceed."); return; } if (config.FragCutMinFragCount < 2) { app.LogError("[frag sequence] 'Min. Frag Count' must be 2 or higher."); return; } if (config.FragCutTimeBetweenFrags < 1) { app.LogError("[frag sequence] 'Time Between Frags' must be strictly positive."); return; } var pattern = new UDT_DLL.udtPatternInfo(); var rules = UDT_DLL.CreateCutByFragArg(config, app.PrivateConfig); UDT_DLL.CreateFragPatternInfo(ref pattern, resources, rules); patterns.Add(pattern); } if (IsPatternActive(selectedPatterns, UDT_DLL.udtPatternType.MidAirFrags)) { if (!config.MidAirCutAllowRocket && !config.MidAirCutAllowBFG) { app.LogError("[mid-air frags] You didn't check any weapon. Please check at least one to proceed."); return; } var pattern = new UDT_DLL.udtPatternInfo(); var rules = UDT_DLL.CreateCutByMidAirArg(config); UDT_DLL.CreateMidAirPatternInfo(ref pattern, resources, rules); patterns.Add(pattern); } if (IsPatternActive(selectedPatterns, UDT_DLL.udtPatternType.MultiFragRails)) { var pattern = new UDT_DLL.udtPatternInfo(); var rules = UDT_DLL.CreateCutByMultiRailArg(config); UDT_DLL.CreateMultiRailPatternInfo(ref pattern, resources, rules); patterns.Add(pattern); } if (IsPatternActive(selectedPatterns, UDT_DLL.udtPatternType.FlagCaptures)) { if (!config.FlagCaptureAllowBaseToBase && !config.FlagCaptureAllowMissingToBase) { app.LogError("[flag captures] You disabled both base and non-base pick-ups. Please enable at least one of them to proceed."); return; } var pattern = new UDT_DLL.udtPatternInfo(); var rules = UDT_DLL.CreateCutByFlagCaptureArg(config); UDT_DLL.CreateFlagCapturePatternInfo(ref pattern, resources, rules); patterns.Add(pattern); } if (IsPatternActive(selectedPatterns, UDT_DLL.udtPatternType.FlickRails)) { if (config.FlickRailMinSpeed <= 0.0f && config.FlickRailMinAngleDelta <= 0.0f) { app.LogError("[flick rails] Both thresholds are negative or zero, which will match all railgun frags."); return; } var pattern = new UDT_DLL.udtPatternInfo(); var rules = UDT_DLL.CreateCutByFlickRailArg(config); UDT_DLL.CreateFlickRailPatternInfo(ref pattern, resources, rules); patterns.Add(pattern); } if (IsPatternActive(selectedPatterns, UDT_DLL.udtPatternType.Matches)) { var pattern = new UDT_DLL.udtPatternInfo(); var rules = UDT_DLL.CreateCutByMatchArg(config); UDT_DLL.CreateMatchPatternInfo(ref pattern, resources, rules); patterns.Add(pattern); } var threadArg = new ThreadArg(); threadArg.Demos = demos; threadArg.FilePaths = filePaths; threadArg.Patterns = patterns.ToArray(); threadArg.Resources = resources; app.DisableUiNonThreadSafe(); app.JoinJobThread(); switch (action) { case PatternAction.Cut: app.StartJobThread(DemoCutThread, threadArg); break; case PatternAction.Search: app.StartJobThread(DemoSearchThread, threadArg); break; default: break; } }
static private void DoAction(PatternAction action, UDT_DLL.udtPatternType pattern) { DoAction(action, GetBit(pattern), true); }
private void DoAction(PatternAction action) { _app.SaveBothConfigs(); DoAction(action, (uint)_app.Config.PatternsSelectionBitMask, false); }