Skip to content

Commit 4af7333

Browse files
Canvas: enable user to insert code at the beginning of the file.
1 parent 3026643 commit 4af7333

File tree

2 files changed

+23
-6
lines changed

2 files changed

+23
-6
lines changed

source/phasereditor/phasereditor.canvas.core/src/phasereditor/canvas/core/codegen/JSLikeCanvasCodeGenerator.java

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,17 +66,18 @@ public abstract class JSLikeCanvasCodeGenerator extends BaseCodeGenerator {
6666
protected final String PRE_INIT_CODE_END = "/* --- pre-init-end --- */";
6767
protected final String POST_INIT_CODE_BEGIN = "/* --- post-init-begin --- */";
6868
protected final String POST_INIT_CODE_END = "/* --- post-init-end --- */";
69+
protected final String START_GENERATED_CODE = "/* --- start generated code --- */";
6970
protected final String END_GENERATED_CODE = "/* --- end generated code --- */";
7071
protected final WorldModel _world;
7172
protected final CanvasModel _model;
7273
protected final EditorSettings _settings;
73-
74+
7475
public JSLikeCanvasCodeGenerator(CanvasModel model) {
7576
_world = model.getWorld();
7677
_settings = model.getSettings();
7778
_model = model;
7879
}
79-
80+
8081
public static class TextureArgs {
8182
public String key;
8283
public String frame = "null";
@@ -103,6 +104,18 @@ public static TextureArgs getTextureArgs(IAssetKey assetKey) {
103104
*/
104105
@Override
105106
protected void internalGenerate() {
107+
{
108+
String content = getReplaceContent();
109+
int i = content.indexOf(START_GENERATED_CODE);
110+
if (i >= 0) {
111+
line(content.substring(0, i) + START_GENERATED_CODE);
112+
} else {
113+
line(getYouCanInsertCodeHere("user code here"));
114+
line(START_GENERATED_CODE);
115+
}
116+
}
117+
118+
line();
106119
line("// Generated by " + LicCore.PRODUCT_NAME + " (Phaser v" + InspectCore.PHASER_VERSION + ")");
107120
line();
108121
line();
@@ -133,9 +146,9 @@ protected void internalGenerate() {
133146

134147
protected void generatePublicFields() {
135148
getRootObjectsContainer().walk_skipGroupIfFalse(obj -> {
136-
149+
137150
generatePublicField(obj);
138-
151+
139152
return !obj.isPrefabInstance();
140153
});
141154
}
@@ -161,7 +174,7 @@ protected void generatePublicField(BaseObjectModel obj) {
161174
}
162175
}
163176
}
164-
177+
165178
protected void generateObjectCreation() {
166179
trim(() -> {
167180
int i = 0;
@@ -544,7 +557,7 @@ private void generateSpriteProps(BaseSpriteModel model) {
544557
if (anim.isKillOnComplete()) {
545558
line(animvar + ".killOnComplete = true;");
546559
}
547-
560+
548561
if (anim.isAutoPlay()) {
549562
line(animvar + ".play();");
550563
}

source/phasereditor/phasereditor.project.core/src/phasereditor/project/core/codegen/BaseCodeGenerator.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@ public String getSectionContent(String openTag, String closeTag, String defaultC
6565

6666
return defaultContent;
6767
}
68+
69+
public String getReplaceContent() {
70+
return _replace;
71+
}
6872

6973
public void userCode(String text) {
7074
String[] lines = text.split("\n");

0 commit comments

Comments
 (0)