Skip to content

Commit a8b24fa

Browse files
committed
Added localization images. Step 1. Not working yet.
1 parent 75e6011 commit a8b24fa

File tree

1 file changed

+34
-3
lines changed

1 file changed

+34
-3
lines changed

adventure-editor/src/main/java/com/bladecoder/engineeditor/ui/EditAnimationDialog.java

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import com.bladecoder.engine.anim.Tween;
3333
import com.bladecoder.engine.anim.Tween.Type;
3434
import com.bladecoder.engine.assets.EngineAssetManager;
35+
import com.bladecoder.engine.i18n.I18N;
3536
import com.bladecoder.engine.model.ActorRenderer;
3637
import com.bladecoder.engine.model.AtlasRenderer;
3738
import com.bladecoder.engine.model.ImageRenderer;
@@ -56,6 +57,7 @@ public class EditAnimationDialog extends EditModelDialog<SpriteActor, AnimationD
5657
InputPanel source;
5758
InputPanel atlas;
5859
InputPanel id;
60+
InputPanel localizable;
5961
InputPanel repeat;
6062
InputPanel speed;
6163
InputPanel count;
@@ -79,6 +81,9 @@ public EditAnimationDialog(Skin skin, SpriteActor p, AnimationDesc e) {
7981
atlas = InputPanelFactory.createInputPanel(skin, "Atlas",
8082
"Select the atlas for the selected Spine skeleton",
8183
getAtlases(), true);
84+
localizable = InputPanelFactory.createInputPanel(skin, "Localizable",
85+
"True if the image is customizable per language.",Param.Type.BOOLEAN, true, "false"
86+
);
8287
id = InputPanelFactory.createInputPanel(skin, "ID",
8388
"Select the id of the animation", new String[0], true);
8489
repeat = InputPanelFactory.createInputPanel(skin, "Animation type",
@@ -100,12 +105,12 @@ public EditAnimationDialog(Skin skin, SpriteActor p, AnimationDesc e) {
100105
"Select the distance in pixels to add to the actor position when the sprite is changed",
101106
Param.Type.VECTOR2, false);
102107
sound = InputPanelFactory.createInputPanel(skin, "Sound",
103-
"Select the sound ID that will be play when displayed");
108+
"Select the sound ID that will be played when showing");
104109
preload = InputPanelFactory.createInputPanel(skin, "Preload",
105110
"Preload the animation when the scene is loaded",
106111
Param.Type.BOOLEAN, true, "true");
107112
dispose = InputPanelFactory.createInputPanel(skin, "Dispose When Played",
108-
"Dispose de animation when the animation is played",
113+
"Dispose de animation after playing",
109114
Param.Type.BOOLEAN, true, "false");
110115

111116
((SelectBox<String>) repeat.getField())
@@ -156,11 +161,20 @@ public void changed(ChangeEvent event, Actor actor) {
156161

157162
setInfoWidget(spriteWidget);
158163

159-
init(p, e, new InputPanel [] { source, atlas, id, repeat, speed,
164+
init(p, e, new InputPanel [] { source, localizable, atlas, id, repeat, speed,
160165
count, in, out, sound, preload, dispose});
161166

162167
setVisible(count,false);
163168
setVisible(atlas,false);
169+
setVisible(localizable,false);
170+
171+
ActorRenderer renderer = parent.getRenderer();
172+
if(renderer instanceof ImageRenderer) {
173+
setVisible(localizable,true);
174+
setVisible(speed,false);
175+
setVisible(repeat,false);
176+
setVisible(id,false);
177+
}
164178

165179
addSources();
166180
if(e != null) {
@@ -429,11 +443,22 @@ protected void inputsToModel(boolean create) {
429443
if(create) {
430444
parent.getRenderer().addAnimation(e);
431445
}
446+
447+
ActorRenderer renderer = parent.getRenderer();
448+
if(renderer instanceof ImageRenderer && Boolean.parseBoolean(localizable.getText())) {
449+
String key = source.getText();
450+
451+
// if (key == null || key.isEmpty() || key.charAt(0) != I18N.PREFIX)
452+
// key = Ctx.project.getI18N().genKey(parent.getId(), e.getId(), "image");
453+
//
454+
// Ctx.project.getI18N().setTranslation(key, desc.getText());
455+
}
432456

433457
// TODO UNDO OP
434458
// UndoOp undoOp = new UndoAddElement(doc, e);
435459
// Ctx.project.getUndoStack().add(undoOp);
436460

461+
437462
Ctx.project.setModified();
438463
}
439464

@@ -455,6 +480,12 @@ protected void modelToInputs() {
455480
dispose.setText(Boolean.toString(e.disposeWhenPlayed));
456481

457482
showHideFieldsDelayCountFields();
483+
484+
ActorRenderer renderer = parent.getRenderer();
485+
if(renderer instanceof ImageRenderer && e.source.charAt(0) == I18N.PREFIX) {
486+
localizable.setText("true");
487+
source.setText(Ctx.project.translate(e.source));
488+
}
458489
}
459490

460491
}

0 commit comments

Comments
 (0)