Skip to content
This repository has been archived by the owner on Aug 28, 2024. It is now read-only.

Commit

Permalink
fix: fixed control window ui stuff.
Browse files Browse the repository at this point in the history
  • Loading branch information
ArchiDog1998 committed Mar 18, 2023
1 parent 958e5ed commit 3406096
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 15 deletions.
1 change: 1 addition & 0 deletions RotationSolver.Basic/Configuration/PluginConfiguration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@ public class PluginConfiguration : IPluginConfiguration
public float ControlWindowGCDSize = 40;
public float ControlWindow0GCDSize = 30;
public float ControlWindowNextSizeRatio = 1.5f;
public float ControlProgressHeight = 8;

public void Save()
{
Expand Down
17 changes: 12 additions & 5 deletions RotationSolver.Basic/Rotations/CustomRotation_Invoke.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,26 +14,33 @@ public bool TryInvoke(out IAction newAction, out IAction gcdAction)
{
return false;
}
var role = Job.GetJobRole();

ActionMoveForwardGCD = MoveForwardGCD(out var act) ? act : null;
ActionMoveForwardAbility = MoveForwardAbility(DataCenter.AbilityRemainCount, out act, recordTarget: false) ? act : null;
MoveTarget = act is IBaseAction a ? a.Target : null;

ActionMoveBackAbility = MoveBackAbility(DataCenter.AbilityRemainCount, out act) ? act : null;

ActionHealAreaGCD = HealAreaGCD(out act) ? act : null;
ActionHealAreaAbility = HealAreaAbility(DataCenter.AbilityRemainCount, out act) ? act : null;
if(!DataCenter.HPNotFull && role == JobRole.Healer)
{
ActionHealAreaGCD = ActionHealAreaAbility = ActionHealSingleGCD = ActionHealSingleAbility = null;
}
else
{
ActionHealAreaGCD = HealAreaGCD(out act) ? act : null;
ActionHealAreaAbility = HealAreaAbility(DataCenter.AbilityRemainCount, out act) ? act : null;

ActionHealSingleGCD = HealSingleGCD(out act) ? act : null;
ActionHealSingleAbility = HealSingleAbility(DataCenter.AbilityRemainCount, out act) ? act : null;
ActionHealSingleGCD = HealSingleGCD(out act) ? act : null;
ActionHealSingleAbility = HealSingleAbility(DataCenter.AbilityRemainCount, out act) ? act : null;
}

ActionDefenseAreaGCD = DefenseAreaGCD(out act) ? act : null;
ActionDefenseAreaAbility = DefenseAreaAbility(DataCenter.AbilityRemainCount, out act) ? act : null;

ActionDefenseSingleGCD = DefenseSingleGCD(out act) ? act : null;
ActionDefenseSingleAbility = DefenseSingleAbility(DataCenter.AbilityRemainCount, out act) ? act : null;

var role = Job.GetJobRole();
EsunaStanceNorthGCD = role switch
{
JobRole.Healer => DataCenter.WeakenPeople.Any() && Esuna.CanUse(out act, mustUse: true) ? act : null,
Expand Down
20 changes: 10 additions & 10 deletions RotationSolver/UI/ControlWindow.cs
Original file line number Diff line number Diff line change
Expand Up @@ -97,43 +97,43 @@ public override void Draw()

ImGui.NextColumn();
var rotation = RotationUpdater.RightNowRotation;
DrawCommandAction(rotation.ActionHealAreaGCD, rotation.ActionHealAreaAbility,
DrawCommandAction(rotation?.ActionHealAreaGCD, rotation?.ActionHealAreaAbility,
SpecialCommandType.HealArea, ImGuiColors.HealerGreen);

ImGui.SameLine();

DrawCommandAction(rotation.ActionHealSingleGCD, rotation.ActionHealSingleAbility,
DrawCommandAction(rotation?.ActionHealSingleGCD, rotation?.ActionHealSingleAbility,
SpecialCommandType.HealSingle, ImGuiColors.HealerGreen);

ImGui.SameLine();

DrawCommandAction(rotation.ActionDefenseAreaGCD, rotation.ActionDefenseAreaAbility,
DrawCommandAction(rotation?.ActionDefenseAreaGCD, rotation?.ActionDefenseAreaAbility,
SpecialCommandType.DefenseArea, ImGuiColors.TankBlue);

ImGui.SameLine();

DrawCommandAction(rotation.ActionDefenseSingleGCD, rotation.ActionDefenseSingleAbility,
DrawCommandAction(rotation?.ActionDefenseSingleGCD, rotation?.ActionDefenseSingleAbility,
SpecialCommandType.DefenseSingle, ImGuiColors.TankBlue);

DrawCommandAction(rotation.ActionMoveForwardGCD, rotation.ActionMoveForwardAbility,
DrawCommandAction(rotation?.ActionMoveForwardGCD, rotation?.ActionMoveForwardAbility,
SpecialCommandType.MoveForward, ImGuiColors.DalamudOrange);

ImGui.SameLine();

DrawCommandAction(null, rotation.ActionMoveBackAbility,
DrawCommandAction(null, rotation?.ActionMoveBackAbility,
SpecialCommandType.MoveBack, ImGuiColors.DalamudOrange);

DrawCommandAction(rotation.EsunaStanceNorthGCD, rotation.EsunaStanceNorthAbility,
DrawCommandAction(rotation?.EsunaStanceNorthGCD, rotation?.EsunaStanceNorthAbility,
SpecialCommandType.EsunaStanceNorth, ImGuiColors.ParsedGold);

ImGui.SameLine();

DrawCommandAction(rotation.RaiseShirkGCD, rotation.RaiseShirkAbility,
DrawCommandAction(rotation?.RaiseShirkGCD, rotation?.RaiseShirkAbility,
SpecialCommandType.RaiseShirk, ImGuiColors.ParsedBlue);

ImGui.SameLine();

DrawCommandAction(null, rotation.AntiKnockbackAbility,
DrawCommandAction(null, rotation?.AntiKnockbackAbility,
SpecialCommandType.AntiKnockback, ImGuiColors.DalamudWhite2);

ImGui.SetCursorPosY(ImGui.GetCursorPosY() + 5);
Expand Down Expand Up @@ -207,7 +207,7 @@ static unsafe float DrawNextAction()

ImGui.SetCursorPosX(ImGui.GetCursorPosX() + width / 2 - ImGui.CalcTextSize(str).X / 2);
ImGui.Text(str);
ImGui.ProgressBar(group->Elapsed / group->Total, new Vector2(width, 5));
ImGui.ProgressBar(group->Elapsed / group->Total, new Vector2(width, Service.Config.ControlProgressHeight), string.Empty);

DrawIAction(ActionUpdater.NextGCDAction, gcd);

Expand Down

0 comments on commit 3406096

Please sign in to comment.