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

Commit

Permalink
fix: multi lang.
Browse files Browse the repository at this point in the history
  • Loading branch information
ArchiDog1998 committed Mar 8, 2024
1 parent 6d54b66 commit 8f39525
Show file tree
Hide file tree
Showing 3 changed files with 104 additions and 45 deletions.
60 changes: 60 additions & 0 deletions RotationSolver/Data/UiString.cs
Original file line number Diff line number Diff line change
Expand Up @@ -629,4 +629,64 @@ internal enum UiString

[Description("This option is unavailable while using your current job\n \nRoles or jobs needed:\n{0}")]
NotInJob,

[Description("Raid Time")]
TimelineRaidTime,

[Description("Execute")]
TimelineExecute,

[Description("Position")]
TimelinePosition,

[Description("Duration")]
TimelineDuration,

[Description("Target Count")]
TimelineTargetCount,

[Description("Target Getter")]
TimelineTargetGetter,

[Description("Effect Duration")]
TimelineEffectDuration,

[Description("Scale")]
TimelineScale,

[Description("Showing Text")]
TimelineShowText,

[Description("Ground")]
TimelineGround,

[Description("Actor")]
TimelineActor,

[Description("Rotation")]
TimelineRotation,

[Description("Object Getter")]
TimelineObjectGetter,

[Description("Need a target")]
TimelineNeedATarget,

[Description("Target by target")]
TimelineTargetByTarget,

[Description("Position Offset")]
TimelinePositionOffset,

[Description("Corner")]
TimelineCorner,

[Description("Padding")]
TimelinePadding,

[Description("Color")]
TimelineColor,

[Description("Background Color")]
TimelineBackgroundColor,
}
6 changes: 0 additions & 6 deletions RotationSolver/Localization/Localization.json
Original file line number Diff line number Diff line change
Expand Up @@ -366,12 +366,6 @@
"RotationSolver.Basic.Configuration.Timeline.TimelineDrawing.StaticDrawingGetter": "Static Drawing",
"RotationSolver.Basic.Configuration.Timeline.TimelineDrawing.ObjectDrawingGetter": "Object Drawing",
"RotationSolver.Basic.Configuration.Timeline.TimelineDrawing.ActionDrawingGetter": "Action Drawing",
"RotationSolver.Basic.Data.JobRole.None": "None",
"RotationSolver.Basic.Data.JobRole.Tank": "Tank",
"RotationSolver.Basic.Data.JobRole.Melee": "Melee",
"RotationSolver.Basic.Data.JobRole.Healer": "Healer",
"RotationSolver.Basic.Data.JobRole.RangedPhysical": "RangedPhysical",
"RotationSolver.Basic.Data.JobRole.RangedMagical": "RangedMagical",
"RotationSolver.Basic.Configuration.Timeline.TimelineCondition.ObjectType.GameObject": "GameObject",
"RotationSolver.Basic.Configuration.Timeline.TimelineCondition.ObjectType.BattleCharactor": "BattleCharactor",
"RotationSolver.Basic.Configuration.Timeline.TimelineCondition.ObjectType.PlayerCharactor": "PlayerCharactor",
Expand Down
83 changes: 44 additions & 39 deletions RotationSolver/UI/TimelineDrawer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ static string GetName(TerritoryType? territory)
}

ImGui.SameLine();
ImGui.Text("Raid Time: " + TimeSpan.FromSeconds(DataCenter.RaidTimeRaw).ToString("hh\\:mm\\:ss\\.f"));
ImGui.Text(UiString.TimelineRaidTime.Local() + ": " + TimeSpan.FromSeconds(DataCenter.RaidTimeRaw).ToString("hh\\:mm\\:ss\\.f"));

using var table = ImRaii.Table("Rotation Solver List Timeline", 3, ImGuiTableFlags.BordersInner | ImGuiTableFlags.Resizable | ImGuiTableFlags.SizingStretchProp | ImGuiTableFlags.ScrollY);
if (table)
Expand Down Expand Up @@ -191,7 +191,7 @@ void Execute()
(UiString.ConfigWindow_List_Remove.Local(), Delete, ["Delete"]),
(UiString.ConfigWindow_Actions_MoveUp.Local(), Up, ["↑"]),
(UiString.ConfigWindow_Actions_MoveDown.Local(), Down, ["↓"]),
("Execute", Execute, ["→"]));
(UiString.TimelineExecute.Local(), Execute, ["→"]));

ConditionDrawer.DrawCondition(timeLineItem.InPeriod(item));

Expand Down Expand Up @@ -285,7 +285,7 @@ private static void DrawTimelineItem(BaseTimelineItem timeLineItem, TimelineItem
ImGui.SameLine();

var macro = macroItem.Macro;
if (ImGui.InputTextMultiline("Macro: ##" + macroItem.GetHashCode(), ref macro, 500, new Vector2( -1, 50)))
if (ImGui.InputTextMultiline(UiString.ConfigWindow_About_Macros.Local() + ": ##" + macroItem.GetHashCode(), ref macro, 500, new Vector2( -1, 50)))
{
macroItem.Macro = macro;
}
Expand Down Expand Up @@ -353,7 +353,7 @@ void Down()

ImGui.SameLine();

if (ConditionDrawer.DrawDragFloat3(ConfigUnitType.Yalms, "Position", ref point, "Pos" + moveItem.GetHashCode(), "X", "Y", "Z", () => Player.Object?.Position ?? default))
if (ConditionDrawer.DrawDragFloat3(ConfigUnitType.Yalms, UiString.TimelinePosition.Local(), ref point, "Pos" + moveItem.GetHashCode(), "X", "Y", "Z", () => Player.Object?.Position ?? default))
{
moveItem.Points[i] = point;
}
Expand All @@ -368,7 +368,7 @@ void Down()
private static void DrawDrawingTimeline(DrawingTimeline drawingItem, TimelineItem timelineItem)
{
var duration = drawingItem.Duration;
if (ConditionDrawer.DrawDragFloat(ConfigUnitType.Seconds, $"Duration##Duration{drawingItem.GetHashCode()}", ref duration))
if (ConditionDrawer.DrawDragFloat(ConfigUnitType.Seconds, $"{UiString.TimelineDuration.Local()}##Duration{drawingItem.GetHashCode()}", ref duration))
{
drawingItem.Duration = duration;
}
Expand Down Expand Up @@ -601,12 +601,13 @@ void AddOneCondition<T>() where T : ITimelineCondition
else if (con is TimelineConditionTargetCount target)
{
var count = target.Count;
if (ConditionDrawer.DrawDragInt("Target Count: ##" + target.GetHashCode(), ref count))
if (ConditionDrawer.DrawDragInt(UiString.TimelineTargetCount.Local() +
": ##" + target.GetHashCode(), ref count))
{
target.Count = count;
}

DrawObjectGetter(target.Getter, "Target Getter");
DrawObjectGetter(target.Getter, UiString.TimelineTargetGetter.Local());
}
else if (con is TimelineConditionAction action)
{
Expand All @@ -622,13 +623,13 @@ void AddOneCondition<T>() where T : ITimelineCondition
else if (con is TimelineConditionMapEffect map)
{
var duration = map.TimeDuration;
if (ConditionDrawer.DrawDragFloat2(ConfigUnitType.Seconds, "Effect Duration", ref duration, "Effect duration" + map.GetHashCode(), "Start", "End"))
if (ConditionDrawer.DrawDragFloat2(ConfigUnitType.Seconds, UiString.TimelineEffectDuration.Local(), ref duration, "Effect duration" + map.GetHashCode(), "Start", "End"))
{
map.TimeDuration = duration;
}

var param = map.Position;
if (ConditionDrawer.DrawDragInt("Position##" + map.GetHashCode(), ref param))
if (ConditionDrawer.DrawDragInt(UiString.TimelinePosition.Local() + "##" + map.GetHashCode(), ref param))
{
map.Position = (ushort)param;
}
Expand Down Expand Up @@ -672,7 +673,7 @@ private static void DrawingGetterDraw(BaseDrawingGetter drawing, uint[] actionId
{
var name = drawing.Name;
ImGui.SetNextItemWidth(300 * Scale);
if (ImGui.InputText("Name##" + drawing.GetHashCode(), ref name, 256))
if (ImGui.InputText(UiString.ConfigWindow_Timeline_Name.Local() + "##" + drawing.GetHashCode(), ref name, 256))
{
drawing.Name = name;
}
Expand Down Expand Up @@ -701,23 +702,23 @@ private static void DrawingGetterDraw(BaseDrawingGetter drawing, uint[] actionId
}

var pos = staticDrawing.Position;
if (ConditionDrawer.DrawDragFloat3(ConfigUnitType.Yalms, "Position: ", ref pos, drawing.GetHashCode().ToString() + "Position", "X", "Y", "Z", () => Player.Object?.Position ?? default))
if (ConditionDrawer.DrawDragFloat3(ConfigUnitType.Yalms, UiString.TimelinePosition.Local() + ": ", ref pos, drawing.GetHashCode().ToString() + "Position", "X", "Y", "Z", () => Player.Object?.Position ?? default))
{
staticDrawing.Position = pos;
}

var scale = staticDrawing.Scale;
if (ConditionDrawer.DrawDragFloat3(ConfigUnitType.Yalms, "Scale: ", ref scale, drawing.GetHashCode().ToString() + "Scale", "X", "Y", "Z"))
if (ConditionDrawer.DrawDragFloat3(ConfigUnitType.Yalms, UiString.TimelineScale.Local() + ": ", ref scale, drawing.GetHashCode().ToString() + "Scale", "X", "Y", "Z"))
{
staticDrawing.Scale = scale;
}

DrawTextDrawing(staticDrawing.Text, "Showing Text: ");
DrawTextDrawing(staticDrawing.Text, UiString.TimelineShowText.Local() + ": ");
}
else if (drawing is ObjectDrawingGetter objectDrawing)
{
var index = objectDrawing.IsActorEffect ? 1 : 0;
if (ImGuiHelper.SelectableCombo("##ActorType" + drawing.GetHashCode(), ["Ground", "Actor"], ref index))
if (ImGuiHelper.SelectableCombo("##ActorType" + drawing.GetHashCode(), [UiString.TimelineGround.Local(), UiString.TimelineActor.Local()], ref index))
{
objectDrawing.IsActorEffect = index != 0;
}
Expand All @@ -740,29 +741,29 @@ private static void DrawingGetterDraw(BaseDrawingGetter drawing, uint[] actionId
}

var rot = objectDrawing.Rotation / MathF.PI * 180f;
if (ConditionDrawer.DrawDragFloat(ConfigUnitType.Degree, "Rotation: ##" + drawing.GetHashCode(), ref rot))
if (ConditionDrawer.DrawDragFloat(ConfigUnitType.Degree, UiString.TimelineRotation.Local() + ": ##" + drawing.GetHashCode(), ref rot))
{
objectDrawing.Rotation = rot * MathF.PI / 180f;
}

var pos = objectDrawing.Position;
if (ConditionDrawer.DrawDragFloat3(ConfigUnitType.Yalms, "Position: ", ref pos, drawing.GetHashCode().ToString() + "Position", "X", "Y", "Z", () => Player.Object?.Position ?? default))
if (ConditionDrawer.DrawDragFloat3(ConfigUnitType.Yalms, UiString.TimelinePosition.Local() + ": ", ref pos, drawing.GetHashCode().ToString() + "Position", "X", "Y", "Z", () => Player.Object?.Position ?? default))
{
objectDrawing.Position = pos;
}

var scale = objectDrawing.Scale;
if (ConditionDrawer.DrawDragFloat3(ConfigUnitType.Yalms, "Scale: ", ref scale, drawing.GetHashCode().ToString() + "Scale", "X", "Y", "Z"))
if (ConditionDrawer.DrawDragFloat3(ConfigUnitType.Yalms, UiString.TimelineScale.Local() + ": ", ref scale, drawing.GetHashCode().ToString() + "Scale", "X", "Y", "Z"))
{
objectDrawing.Scale = scale;
}
}

DrawObjectGetter(objectDrawing.ObjectGetter, "Object Getter");
DrawTextDrawing(objectDrawing.ObjectText, "Object Text");
DrawObjectGetter(objectDrawing.ObjectGetter, UiString.TimelineObjectGetter.Local());
DrawTextDrawing(objectDrawing.ObjectText, UiString.TimelineShowText.Local());

var check = objectDrawing.GetATarget;
if (ImGui.Checkbox("Need a Target: ##" + drawing.GetHashCode(), ref check))
if (ImGui.Checkbox(UiString.TimelineNeedATarget.Local() + ": ##" + drawing.GetHashCode(), ref check))
{
objectDrawing.GetATarget = check;
}
Expand All @@ -771,17 +772,17 @@ private static void DrawingGetterDraw(BaseDrawingGetter drawing, uint[] actionId

ImGui.SameLine();
check = objectDrawing.IsTargetByTarget;
if (ImGui.Checkbox("Target By target: ##" + drawing.GetHashCode(), ref check))
if (ImGui.Checkbox(UiString.TimelineTargetByTarget.Local() + ": ##" + drawing.GetHashCode(), ref check))
{
objectDrawing.IsTargetByTarget = check;
}

if (!check)
{
DrawObjectGetter(objectDrawing.TargetGetter, "Target Getter");
DrawObjectGetter(objectDrawing.TargetGetter, UiString.TimelineTargetGetter.Local());
}

DrawTextDrawing(objectDrawing.TargetText, "Target Text");
DrawTextDrawing(objectDrawing.TargetText, UiString.TimelineShowText.Local());
}
else if (drawing is ActionDrawingGetter actionDrawing)
{
Expand All @@ -801,30 +802,30 @@ private static void DrawingGetterDraw(BaseDrawingGetter drawing, uint[] actionId
}

var rot = actionDrawing.Rotation / MathF.PI * 180f;
if (ConditionDrawer.DrawDragFloat(ConfigUnitType.Degree, "Rotation: ##" + drawing.GetHashCode(), ref rot))
if (ConditionDrawer.DrawDragFloat(ConfigUnitType.Degree, UiString.TimelineRotation.Local() + ": ##" + drawing.GetHashCode(), ref rot))
{
actionDrawing.Rotation = rot * MathF.PI / 180f;
}

var pos = actionDrawing.Position;
if (ConditionDrawer.DrawDragFloat3(ConfigUnitType.Yalms, "Position: ", ref pos, drawing.GetHashCode().ToString(), "X", "Y", "Z", () => Player.Object?.Position ?? default))
if (ConditionDrawer.DrawDragFloat3(ConfigUnitType.Yalms, UiString.TimelinePosition.Local() + ": ", ref pos, drawing.GetHashCode().ToString(), "X", "Y", "Z", () => Player.Object?.Position ?? default))
{
actionDrawing.Position = pos;
}

var scale = actionDrawing.X;
if (ConditionDrawer.DrawDragFloat(ConfigUnitType.Yalms, "Scale X: ##" + drawing.GetHashCode(), ref scale))
if (ConditionDrawer.DrawDragFloat(ConfigUnitType.Yalms, UiString.TimelineScale.Local() + " X: ##" + drawing.GetHashCode(), ref scale))
{
actionDrawing.X = scale;
}

scale = actionDrawing.Y;
if (ConditionDrawer.DrawDragFloat(ConfigUnitType.Yalms, "Scale Y: ##" + drawing.GetHashCode(), ref scale))
if (ConditionDrawer.DrawDragFloat(ConfigUnitType.Yalms, UiString.TimelineScale.Local() + " Y: ##" + drawing.GetHashCode(), ref scale))
{
actionDrawing.Y = scale;
}

DrawObjectGetter(actionDrawing.ObjectGetter, "Object Getter");
DrawObjectGetter(actionDrawing.ObjectGetter, UiString.TimelineObjectGetter.Local());
}
}

Expand Down Expand Up @@ -884,8 +885,6 @@ private static void DrawObjectGetter(ObjectGetter getter, string getterName)
return;

case ObjectType.PlayerCharactor:
ImGui.Text("Job Role:");
ImGui.SameLine();

var size = Vector2.One * 24 * Scale;

Expand Down Expand Up @@ -960,14 +959,14 @@ private static void DrawObjectGetter(ObjectGetter getter, string getterName)
if (getter.Status != 0)
{
var time = getter.StatusTime;
if (ConditionDrawer.DrawDragFloat(ConfigUnitType.Seconds, "Status Time: ##" + getter.GetHashCode(), ref time))
if (ConditionDrawer.DrawDragFloat(ConfigUnitType.Seconds, UiString.ConfigWindow_Timeline_Time.Local() + ": ##" + getter.GetHashCode(), ref time))
{
getter.StatusTime = time;
}
}

var duration = getter.TimeDuration;
if (ConditionDrawer.DrawDragFloat2(ConfigUnitType.Seconds, "Effect Duration", ref duration, "Effect duration" + getter.GetHashCode(), "Start", "End"))
if (ConditionDrawer.DrawDragFloat2(ConfigUnitType.Seconds, UiString.TimelineEffectDuration.Local(), ref duration, "Effect duration" + getter.GetHashCode(), "Start", "End"))
{
getter.TimeDuration = duration;
}
Expand All @@ -981,13 +980,13 @@ private static void DrawObjectGetter(ObjectGetter getter, string getterName)

ImGui.NewLine();
var param = (int)getter.ObjectEffect1;
if (ConditionDrawer.DrawDragInt("Effect Param1##" + getter.GetHashCode(), ref param))
if (ConditionDrawer.DrawDragInt("Param1##" + getter.GetHashCode(), ref param))
{
getter.ObjectEffect1 = (ushort)param;
}

param = getter.ObjectEffect2;
if (ConditionDrawer.DrawDragInt("Effect Param2##" + getter.GetHashCode(), ref param))
if (ConditionDrawer.DrawDragInt("Param2##" + getter.GetHashCode(), ref param))
{
getter.ObjectEffect2 = (ushort)param;
}
Expand All @@ -1007,34 +1006,40 @@ private static void DrawTextDrawing(TextDrawing textDrawing, string name)
using var indent = ImRaii.PushIndent();

var positionOffset = textDrawing.PositionOffset;
if (ConditionDrawer.DrawDragFloat3(ConfigUnitType.Yalms, "Position Offset: ", ref positionOffset, textDrawing.GetHashCode().ToString(), "X", "Y", "Z"))
if (ConditionDrawer.DrawDragFloat3(ConfigUnitType.Yalms, UiString.TimelinePositionOffset.Local() + ": ", ref positionOffset, textDrawing.GetHashCode().ToString(), "X", "Y", "Z"))
{
textDrawing.PositionOffset = positionOffset;
}

ImGui.SetNextItemWidth(Scale * 150);
var scale = textDrawing.Scale;
if (ImGui.DragFloat($"Scale##{textDrawing.GetHashCode()}", ref scale, 0.1f, 0.1f, 20, $"{scale:F2}{ConfigUnitType.Percent.ToSymbol()}"))
if (ImGui.DragFloat($"{UiString.TimelineScale.Local()}##{textDrawing.GetHashCode()}", ref scale, 0.1f, 0.1f, 20, $"{scale:F2}{ConfigUnitType.Percent.ToSymbol()}"))
{
textDrawing.Scale = scale;
}

var corner = textDrawing.Corner;
if (ConditionDrawer.DrawDragFloat(ConfigUnitType.Pixels, UiString.TimelineCorner.Local() + "##" + textDrawing.GetHashCode(), ref corner))
{
textDrawing.Corner = corner;
}

var padding = textDrawing.Padding;
if (ConditionDrawer.DrawDragFloat2(ConfigUnitType.Pixels, "Background Padding: ", ref padding, textDrawing.GetHashCode().ToString(), "X", "Y"))
if (ConditionDrawer.DrawDragFloat2(ConfigUnitType.Pixels, UiString.TimelinePadding.Local() + ": ", ref padding, textDrawing.GetHashCode().ToString(), "X", "Y"))
{
textDrawing.Padding = padding;
}

var value = textDrawing.Color;
ImGui.SetNextItemWidth(150 * 1.5f * Scale);
if (ImGui.ColorEdit4($"Color##{textDrawing.GetHashCode()}", ref value))
if (ImGui.ColorEdit4($"{UiString.TimelineColor.Local()}##{textDrawing.GetHashCode()}", ref value))
{
textDrawing.Color = value;
}

value = textDrawing.BackgroundColor;
ImGui.SetNextItemWidth(150 * 1.5f * Scale);
if (ImGui.ColorEdit4($"Background Color##{textDrawing.GetHashCode()}", ref value))
if (ImGui.ColorEdit4($"{UiString.TimelineBackgroundColor.Local()}##{textDrawing.GetHashCode()}", ref value))
{
textDrawing.BackgroundColor = value;
}
Expand Down

0 comments on commit 8f39525

Please sign in to comment.