1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
# Dialog controllers are generic objects designed to be used as triggers for scripts.
# Various usages include modifying:
# - on_create to trigger something on the start of a level.
# - on_triggered to trigger something when the player reaches a certain spot
{
id: "text_editor_controller",
zorder: 50,
always_active: true,
hidden_in_game: true,
//use_absolute_screen_coordinates: true,
editor_info: {
category: "controllers",
var: [
{
name: "default_text",
type: "text",
value: "''",
},{
name: "is_grey_msg",
type: "boolean",
value: "true",
},{
name: "width",
type: "int",
value: "200",
},
],
},
vars: {
Widget: {
type: "text_editor",
id: "a",
width: 200,
on_change: "if(not self.vars.is_grey_msg and (not self.tmp.focus), fire_event('change'))",
on_move_cursor: "fire_event('move_cursor')",
on_enter: "fire_event('enter')",
on_tab: "fire_event('tab')",
on_escape: "fire_event('escape')",
on_begin_enter: "fire_event('begin_enter')",
on_change_focus: "fire_event('change_focus')",
},
},
on_editor_changed_variable: "fire_event('create')",
on_create: "[
set_widgets(self, nwgt),
set(vars.Widget, nwgt),
] where
nwgt = self.vars.Widget + {
width: self.vars.width,
text: self.vars.default_text,
color: if(self.vars.is_grey_msg, 'grey', 'white'),
}",
on_change: "sound('click.wav')", //text: self.widgets.a.text
on_change_focus: "if(self.vars.is_grey_msg, [
set(tmp.focus, not tmp.focus),
if(tmp.focus,
if(not widgets.a.text, [
set(self.widgets.a.text, self.vars.default_text),
set(self.widgets.a.color, 'grey'),
]),
if(self.widgets.a.text = self.vars.default_text, [
set(self.widgets.a.text, ''),
set(self.widgets.a.colour, 'white'),
])
),
])",
on_end_anim: "animation('normal')",
animation: {
id: "normal",
image: "effects/particles.png",
x: 86,
y: 73,
w: 28,
h: 28,
collide: [0,0,28,28],
frames: 1,
duration: 1000,
},
}
|