private static IList <AnimationFrame> ProcessSequence(IList <byte> bytes, int number) { int i = 0; List <byte[]> sequence = new List <byte[]>(); while (i < bytes.Count - 1) { if (bytes[i] != 0xFF) { sequence.Add(new byte[2] { bytes[i], bytes[i + 1] }); } else if (Jumps.ContainsKey(bytes[i + 1])) { i += Jumps[bytes[i + 1]]; } i += 2; } if (sequence.Count == 0) { return(null); } List <AnimationFrame> result = new List <AnimationFrame>(sequence.Count); foreach (byte[] frame in sequence) { result.Add(new AnimationFrame(frame[1], frame[0])); } return(result); }
private void OnCollisionEnter(Collision collision) { if ((_jumpState == Jumps.Jump || _jumpState == Jumps.DoubleJump) && collision.gameObject.CompareTag("Ground")) { _jumpState = Jumps.Grounded; } }
void Jump() { float jumpValue = Input.GetButtonDown("Jump") ? jumpHeight : 0.0f; switch (_jumpState) { case Jumps.Grounded: if (jumpValue > 0.0f) { _jumpState = Jumps.Jump; } break; case Jumps.Jump: if (jumpValue > 0.0f) { _jumpState = Jumps.DoubleJump; } break; case Jumps.DoubleJump: jumpValue = 0.0f; break; } Vector3 jumping = new Vector3(0.0f, jumpValue, 0.0f); rb.AddForce(jumping); }
public string GetString(IStringReader stringReader) { var lineValues = new List <string>(); foreach (var instruction in Instructions) { // Get all jumps pointing to the current instruction var viableJumps = Jumps.Where(x => x.Instruction == instruction); // Add jump labels lineValues.AddRange(viableJumps.Select(x => x.GetString() + ":")); // Add instruction lineValues.Add("\t" + instruction.GetString(stringReader)); } // Add jumps at end of function var endJumps = Jumps.Where(x => !Instructions.Contains(x.Instruction)); lineValues.AddRange(endJumps.Select(x => x.GetString() + ":")); // Prepare other strings var lines = string.Join(Environment.NewLine, lineValues); var parameters = string.Join(", ", Enumerable.Range(0, ParameterCount).Select(x => $"$p{x}")); var unknowns = string.Join(',', Unknowns); // Build final function var functionParts = new[] { $"{Name}<{unknowns}>({parameters})" }; var functionParts2 = !lines.Any() ? new[] { "{", "}" } : new[] { "{", lines, "}" }; return(string.Join(Environment.NewLine, functionParts.Concat(functionParts2))); }
protected override string PropertyValidation(PropertyInfo pi) { if (pi.Name == nameof(SubWorkflow)) { var requiresSubWorkflow = this.Type == WorkflowActivityType.CallWorkflow || this.Type == WorkflowActivityType.DecompositionWorkflow; if (SubWorkflow != null && !requiresSubWorkflow) { return(ValidationMessage._0ShouldBeNull.NiceToString(pi.NiceName())); } if (SubWorkflow == null && requiresSubWorkflow) { return(ValidationMessage._0IsNotSet.NiceToString(pi.NiceName())); } } if (pi.Name == nameof(Jumps)) { var repated = NoRepeatValidatorAttribute.ByKey(Jumps, j => j.To); if (repated.HasText()) { return(ValidationMessage._0HasSomeRepeatedElements1.NiceToString(pi.NiceName(), repated)); } if (Jumps.Any(j => j.To.RefersTo(this))) { return(WorkflowMessage.JumpsToSameActivityNotAllowed.NiceToString()); } } return(base.PropertyValidation(pi)); }
void Debugger_OnInstructionChanged(object sender, Instruction instruction) { GridOpCode.CurrentCell = GridOpCode.Rows[instruction == null ? 0 : (int)instruction.Location.Index].Cells[3]; Jumps.RefreshDynJumps(Debugger); GridOpCode.Refresh(); GridAltStack.Refresh(); GridStack.Refresh(); Registers.Refresh(); }
/// <summary> /// Vygeneruje nov� dostupn� poz�cie kam m��e k�� sko�i�, na z�klade oper�torov /// </summary> private void GenerateJumps() { foreach (var @operator in Operatory.AllOperations) { var skok = @operator(Stav); if (skok == null) { continue; } Jumps.Add(skok); } }
void UpdateDebugState() { int instruction = Debugger == null ? 0 : (int)Debugger.CurrentInstructionIndex; GridOpCode.Invalidate(); Registers.Refresh(); //GridOpCode.ClearSelection(); //GridOpCode.Rows[(int)instructionIndex].Selected = true; GridOpCode.CurrentCell = GridOpCode.Rows[instruction].Cells[3]; Jumps.RefreshDynJumps(Debugger); //Application.DoEvents(); }
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) { goToToolStripMenuItem.DropDownItems.Clear(); if (Debugger == null || GridOpCode.SelectedRows.Count != 1) { return; } DataGridViewRow r = GridOpCode.SelectedRows[0]; if (r.DataBoundItem == null || !(r.DataBoundItem is Instruction i)) { return; } if (i.Jump != null && i.Jump.To != null) { var to = GridOpCode.Rows[(int)i.Jump.To.Index].DataBoundItem as Instruction; goToToolStripMenuItem.DropDownItems.Add(to.ToString(), null, (s, e2) => { Debugger_OnInstructionChanged(null, to); }); } var ls = new List <Instruction>(); foreach (var jump in Jumps.GetJumps()) { if (jump.Jump == null || jump.Jump.To == null || jump.Jump.To.Index != i.Location.Index) { continue; } if (ls.Contains(jump)) { continue; } ls.Add(jump); goToToolStripMenuItem.DropDownItems.Add(jump.ToString(), null, (s, e2) => { Debugger_OnInstructionChanged(null, jump); }); } goToToolStripMenuItem.Enabled = goToToolStripMenuItem.DropDownItems.Count > 0; }
static void Main(string[] args) { CarryBit.TestAll(); SingleRegister.TestAll(); DataTransfer.TestAll(); RegOrMemToAccum.TestAll(); RotateAccum.TestAll(); RegisterPair.TestAll(); Immediates.TestAll(); DirectAddressing.TestAll(); Jumps.TestAll(); Calls.TestAll(); Returns.TestAll(); Restarts.TestAll(); Console.Read(); }
void OnTriggerEnter(Collider other) { if (other.gameObject.CompareTag("Obstacle")) { GameOver(); } if (other.gameObject.CompareTag("Collectible")) { other.gameObject.SetActive(false); Jumps.setJumps(); } if (other.gameObject.CompareTag("Points")) { other.gameObject.SetActive(false); Scores.setCollectable(); } }
//Función que maneja el pop de la pila de saltos public void popJumpStack() { //Si la pila está vacía, no se hace nada if (jumpStack.Count == 0) { return; } //Se obtiene el índice del salto int jumpIndex = (int)jumpStack.Pop(); //Se crea una referencia al objeto del salto Jumps jump = (Jumps)quadrupleBuffer[jumpIndex]; //Se le asigna la línea a la que va a saltar jump.setJump(lineCont); //Se manda a escribir el cuádruplo al archivo writeIntermediateCode(null); }
public static async Task <bool> Combat() { if (BotManager.Current.IsAutonomous) { Movement.NavigateToUnitLos(Core.Me.CurrentTarget, 3 + Core.Me.CurrentTarget.CombatReach); } if (Core.Me.CurrentTarget == null) { return(false); } if (!Core.Me.CurrentTarget.ThoroughCanAttack()) { return(false); } if (await CustomOpenerLogic.Opener()) { return(true); } #region Positional Overlay if (BaseSettings.Instance.UsePositionalOverlay) { if (Core.Me.HasAura(Auras.SharperFangandClaw)) { if (!Core.Me.CurrentTarget.IsFlanking) { ViewModels.BaseSettings.Instance.PositionalStatus = "OutOfPosition"; ViewModels.BaseSettings.Instance.PositionalText = "Move To Flank"; } else { ViewModels.BaseSettings.Instance.PositionalStatus = "InPosition"; ViewModels.BaseSettings.Instance.PositionalText = "You're In Position"; } } if (Core.Me.HasAura(Auras.EnhancedWheelingThrust)) { if (!Core.Me.CurrentTarget.IsBehind) { ViewModels.BaseSettings.Instance.PositionalStatus = "OutOfPosition"; ViewModels.BaseSettings.Instance.PositionalText = "Move Behind"; } else { ViewModels.BaseSettings.Instance.PositionalStatus = "InPosition"; ViewModels.BaseSettings.Instance.PositionalText = "You're In Position"; } } if (ActionManager.LastSpell == Spells.Disembowel) { if (!Core.Me.CurrentTarget.IsBehind) { ViewModels.BaseSettings.Instance.PositionalStatus = "OutOfPosition"; ViewModels.BaseSettings.Instance.PositionalText = "Move Behind"; } else { ViewModels.BaseSettings.Instance.PositionalStatus = "InPosition"; ViewModels.BaseSettings.Instance.PositionalText = "You're In Position"; } } } #endregion #region Off GCD debugging if (Utilities.Routines.Dragoon.Jumps.Contains(Casting.LastSpell)) { // Check to see if we're OFF GCD if (Spells.TrueThrust.Cooldown == TimeSpan.Zero) { // Start the stopwatch if it isn't running if (!JumpGcdTimer.IsRunning) { JumpGcdTimer.Restart(); } } } else { // We didn't use a Jump last, check to see if the stopwatch is running if (JumpGcdTimer.IsRunning) { // We'll give a 50ms buffer for the time it takes to tick if (JumpGcdTimer.ElapsedMilliseconds > 50) { Logger.WriteInfo($@"We wasted {JumpGcdTimer.ElapsedMilliseconds} ms off GCD"); } // Stop the stopwatch JumpGcdTimer.Stop(); } } #endregion if (await PhysicalDps.Interrupt(DragoonSettings.Instance)) { return(true); } if (await PhysicalDps.SecondWind(DragoonSettings.Instance)) { return(true); } if (await PhysicalDps.Bloodbath(DragoonSettings.Instance)) { return(true); } Utilities.Routines.Dragoon.EnemiesInView = Utilities.Combat.Enemies.Count(r => r.Distance(Core.Me) <= 10 + r.CombatReach && r.InView()); if (Utilities.Routines.Dragoon.OnGcd && !_usedJumpDuringGcd) { if (await Jumps.MirageDive()) { _usedJumpDuringGcd = true; return(true); } if (await Jumps.Execute()) { _usedJumpDuringGcd = true; return(true); } if (await SingleTarget.Geirskogul()) { return(true); } if (await Buff.LanceCharge()) { return(true); } if (await Aoe.Nastrond()) { return(true); } if (await Buff.BloodOfTheDragon()) { return(true); } if (await Buff.DragonSight()) { return(true); } if (await Buff.BattleLitany()) { return(true); } return(await Buff.TrueNorth()); } if (await OffGlobalCooldownRotation()) { _usedJumpDuringGcd = false; return(true); } return(false); }
private void LoadAudioChart(string absoluteUri, bool isJSON = false) { if (Serializer.Initialized) { // bool fileLoadSuccess = Serializer.LoadFronFile(absoluteUri, isJSON, absoluteUri.Contains(".dat")); bool fileLoadSuccess = isJSON ? Serializer.LoadFronFile(absoluteUri, isJSON, absoluteUri.Contains(".dat")) : Serializer.LoadFronFile(absoluteUri); if (fileLoadSuccess) { editPanelAnimator.Play("Panel In"); editModePanelAnimator.Play("Panel Out"); editNameField.text = Serializer.ChartData.Name; editAuthorField.text = Serializer.ChartData.Author; editTrackField.text = (Serializer.ChartData.AudioData != null) ? string.Empty : Serializer.ChartData.AudioName; editMapperField.text = Serializer.ChartData.Beatmapper; if (!isJSON) { Serializer.ChartData.FilePath = absoluteUri; } // For the artwork texture if (Serializer.ChartData.ArtworkBytes == null) { Serializer.ChartData.Artwork = "Default Artwork"; Serializer.ChartData.ArtworkBytes = defaultArtworkData; } SetSpriteToImage(editArtworkField, Serializer.ChartData.ArtworkBytes); // If not has effect data if (Serializer.ChartData.Effects == null) { Effects defaultEffects = new Effects(); defaultEffects.Easy = new List <float>(); defaultEffects.Normal = new List <float>(); defaultEffects.Hard = new List <float>(); defaultEffects.Expert = new List <float>(); defaultEffects.Master = new List <float>(); defaultEffects.Custom = new List <float>(); Serializer.ChartData.Effects = defaultEffects; } if (Serializer.ChartData.Jumps == null) { Jumps defaultJumps = new Jumps(); defaultJumps.Easy = new List <float>(); defaultJumps.Normal = new List <float>(); defaultJumps.Hard = new List <float>(); defaultJumps.Expert = new List <float>(); defaultJumps.Master = new List <float>(); defaultJumps.Custom = new List <float>(); Serializer.ChartData.Jumps = defaultJumps; } if (Serializer.ChartData.Crouchs == null) { Crouchs defaultCrouchs = new Crouchs(); defaultCrouchs.Easy = new List <float>(); defaultCrouchs.Normal = new List <float>(); defaultCrouchs.Hard = new List <float>(); defaultCrouchs.Expert = new List <float>(); defaultCrouchs.Master = new List <float>(); defaultCrouchs.Custom = new List <float>(); Serializer.ChartData.Crouchs = defaultCrouchs; } if (Serializer.ChartData.Slides == null) { Slides defaultSlides = new Slides(); defaultSlides.Easy = new List <Slide>(); defaultSlides.Normal = new List <Slide>(); defaultSlides.Hard = new List <Slide>(); defaultSlides.Expert = new List <Slide>(); defaultSlides.Master = new List <Slide>(); defaultSlides.Custom = new List <Slide>(); Serializer.ChartData.Slides = defaultSlides; } if (Serializer.ChartData.Lights == null) { Lights defaultLights = new Lights(); defaultLights.Easy = new List <float>(); defaultLights.Normal = new List <float>(); defaultLights.Hard = new List <float>(); defaultLights.Expert = new List <float>(); defaultLights.Master = new List <float>(); defaultLights.Custom = new List <float>(); Serializer.ChartData.Lights = defaultLights; } if (Serializer.ChartData.Bookmarks == null) { Serializer.ChartData.Bookmarks = new Bookmarks(); } InitFormsSelection(true); } } }
/// <sumary> /// Instantiate the new Chart and load the editor scene /// </sumary> public void StartEditor(bool isEdit = false) { if (Serializer.Initialized) { if (Serializer.ChartData == null) { Chart chart = new Chart(); Beats defaultBeats = new Beats(); defaultBeats.Easy = new Dictionary <float, List <Note> >(); defaultBeats.Normal = new Dictionary <float, List <Note> >(); defaultBeats.Hard = new Dictionary <float, List <Note> >(); defaultBeats.Expert = new Dictionary <float, List <Note> >(); defaultBeats.Master = new Dictionary <float, List <Note> >(); defaultBeats.Custom = new Dictionary <float, List <Note> >(); Effects defaultEffects = new Effects(); defaultEffects.Easy = new List <float>(); defaultEffects.Normal = new List <float>(); defaultEffects.Hard = new List <float>(); defaultEffects.Expert = new List <float>(); defaultEffects.Master = new List <float>(); defaultEffects.Custom = new List <float>(); Jumps defaultJumps = new Jumps(); defaultJumps.Easy = new List <float>(); defaultJumps.Normal = new List <float>(); defaultJumps.Hard = new List <float>(); defaultJumps.Expert = new List <float>(); defaultJumps.Master = new List <float>(); defaultJumps.Custom = new List <float>(); Crouchs defaultCrouchs = new Crouchs(); defaultCrouchs.Easy = new List <float>(); defaultCrouchs.Normal = new List <float>(); defaultCrouchs.Hard = new List <float>(); defaultCrouchs.Expert = new List <float>(); defaultCrouchs.Master = new List <float>(); defaultCrouchs.Custom = new List <float>(); Slides defaultSlides = new Slides(); defaultSlides.Easy = new List <Slide>(); defaultSlides.Normal = new List <Slide>(); defaultSlides.Hard = new List <Slide>(); defaultSlides.Expert = new List <Slide>(); defaultSlides.Master = new List <Slide>(); defaultSlides.Custom = new List <Slide>(); Lights defaultLights = new Lights(); defaultLights.Easy = new List <float>(); defaultLights.Normal = new List <float>(); defaultLights.Hard = new List <float>(); defaultLights.Expert = new List <float>(); defaultLights.Master = new List <float>(); defaultLights.Custom = new List <float>(); /// For testing /*var list = new List<Note>(); * list.Add(new Note(new Vector3(-0.5756355f, 0.2400601f, 0), 1)); * defaultBeats.Easy.Add(0, list); * list = new List<Note>(); * list.Add(new Note(new Vector3(-0.7826607f, 0.3006552f, 20f), 2002)); * defaultBeats.Easy.Add(2000, list); * list = new List<Note>(); * list.Add(new Note(new Vector3(0.1514833f, 0.3359979f, 40f), 4001)); * defaultBeats.Easy.Add(4000, list); */ chart.Track = defaultBeats; chart.Effects = defaultEffects; chart.Jumps = defaultJumps; chart.Crouchs = defaultCrouchs; chart.Slides = defaultSlides; chart.Bookmarks = new Bookmarks(); chart.Name = nameField.text; chart.Author = authorField.text; chart.AudioName = trackField.text; chart.AudioData = null; //audioData; chart.AudioFrecuency = loadedClip.frequency; chart.AudioChannels = loadedClip.channels; chart.BPM = 120; chart.FilePath = null; chart.Artwork = artWorkField; chart.ArtworkBytes = loadedArtwork; chart.IsAdminOnly = Serializer.IsAdmin(); chart.Beatmapper = mapperField.text; chart.CustomDifficultyName = "Custom"; chart.CustomDifficultySpeed = 1; chart.Tags = new List <string>(); chart.Lights = defaultLights; Serializer.ChartData = chart; } if (artworkEdited) { Serializer.ChartData.Artwork = artWorkField; Serializer.ChartData.ArtworkBytes = loadedArtwork; } if (audioEdited) { // Serializer.ChartData.AudioData = audioData; Serializer.ChartData.AudioFrecuency = loadedClip.frequency; Serializer.ChartData.AudioChannels = loadedClip.channels; } if (isEdit) { Serializer.ChartData.Name = editNameField.text; Serializer.ChartData.Author = editAuthorField.text; Serializer.ChartData.AudioName = editTrackField.text; Serializer.ChartData.Beatmapper = editMapperField.text; } // Complete editor process // Serializer.SerializeToFile(); Miku_LoaderHelper.LauchPreloader(); } }
private void RemoveJump() { Jumps.RemoveAt(SelectedJump); SelectedJump = -1; }
private void AddJump() { Jumps.Add(new JumpViewModel(this)); SelectedJump = Jumps.Count - 1; }
public FCodeEmit(FTypeEmit parent, FBuf fcode, CILInstructions code, Reg[] regs, FTypeRef ret) { this.pod = parent.pod; this.emitter = parent.emitter; this.parent = parent; this.buf = fcode.m_buf; this.len = fcode.m_len; this.code = code; this.podClass = FanUtil.toDotnetTypeName(pod.m_podName, "$Pod", false); this.jumps = new Jumps(code); this.regs = regs; this.ret = ret; }
void GridOpCode_Scroll(object sender, ScrollEventArgs e) { Jumps.Invalidate(); }
void GridOpCode_CurrentCellChanged(object sender, EventArgs e) { Jumps.Invalidate(); }
public static async Task <bool> Combat() { if (BotManager.Current.IsAutonomous) { if (Core.Me.HasTarget) { Movement.NavigateToUnitLos(Core.Me.CurrentTarget, 3 + Core.Me.CurrentTarget.CombatReach); } } if (!Core.Me.HasTarget && !Core.Me.InCombat) { return(false); } if (!Core.Me.CurrentTarget.ThoroughCanAttack()) { return(false); } if (await CustomOpenerLogic.Opener()) { return(true); } #region Off GCD debugging if (DragoonRoutine.JumpsList.Contains(Casting.LastSpell)) { // Check to see if we're OFF GCD if (Spells.TrueThrust.Cooldown == TimeSpan.Zero) { // Start the stopwatch if it isn't running if (!JumpGcdTimer.IsRunning) { JumpGcdTimer.Restart(); } } } else { // We didn't use a Jump last, check to see if the stopwatch is running if (JumpGcdTimer.IsRunning) { // We'll give a 50ms buffer for the time it takes to tick if (JumpGcdTimer.ElapsedMilliseconds > 50) { Logger.WriteInfo($@"We wasted {JumpGcdTimer.ElapsedMilliseconds} ms off GCD"); } // Stop the stopwatch JumpGcdTimer.Stop(); } } #endregion //Utility if (await PhysicalDps.Interrupt(DragoonSettings.Instance)) { return(true); } if (await PhysicalDps.SecondWind(DragoonSettings.Instance)) { return(true); } if (await PhysicalDps.Bloodbath(DragoonSettings.Instance)) { return(true); } if (DragoonRoutine.GlobalCooldown.CanWeave() && !DragoonRoutine.SingleWeaveJumpsList.Contains(Casting.LastSpell)) { //Buffs if (await Buff.ForceDragonSight()) { return(true); } if (await Buff.LanceCharge()) { return(true); } if (await Buff.DragonSight()) { return(true); } if (await Buff.BattleLitany()) { return(true); } if (await Buff.LifeSurge()) { return(true); } if (await Utility.TrueNorth()) { return(true); } //oGCD - Jump if (await Aoe.WyrmwindThrust()) { return(true); } if (await Jumps.MirageDive()) { return(true); //DoubleWeave } if (await Aoe.Geirskogul()) { return(true); } if (await Aoe.Nastrond()) { return(true); } if (DragoonRoutine.GlobalCooldown.CanWeave(1)) { if (await Jumps.HighJump()) { return(true); //SingleWeave } if (await Jumps.DragonfireDive()) { return(true); //SingleWeave } if (await Jumps.SpineshatterDive()) { return(true); //SingleWeave } if (await Jumps.Stardiver()) { return(true); //SingleWeave } } } if (await Aoe.DraconianFury()) { return(true); } if (await Aoe.CoerthanTorment()) { return(true); } if (await Aoe.SonicThrust()) { return(true); } if (await Aoe.DoomSpike()) { return(true); } if (await SingleTarget.RaidenThrust()) { return(true); } // Combo 2 if (await SingleTarget.FangAndClaw()) { return(true); } if (await SingleTarget.HeavensThrust()) { return(true); } if (await SingleTarget.VorpalThrust()) { return(true); } // Combo 1 + DOT if (await SingleTarget.WheelingThrust()) { return(true); } if (await SingleTarget.ChaoticSpring()) { return(true); } if (await SingleTarget.Disembowel()) { return(true); } return(await SingleTarget.TrueThrust()); }