1 class Pettanr.CircleSpeechBalloon
\r
3 class Pettanr.CircleSpeechBalloon.SpeechBalloon extends Backbone.Model
\r
4 # OMG... this model is not petanized item
\r
5 # it means that can't change name
\r
7 "circle_speech_balloons"
\r
10 "CircleSpeechBalloon"
\r
13 @base_name() + '/speech_balloon'
\r
16 @base_name() + '/speech_balloons'
\r
19 @baseName() + '/SpeechBalloon'
\r
22 @baseName() + '/SpeechBalloons'
\r
28 @engine_name() + '/speech_balloons'
\r
30 class Pettanr.CircleSpeechBalloon.Balloon extends Backbone.Model
\r
31 # OMG... this model is not petanized item
\r
32 # it means that can't change name
\r
34 "circle_speech_balloons"
\r
37 "CircleSpeechBalloon"
\r
40 @base_name() + '/balloon'
\r
43 @base_name() + '/balloons'
\r
46 @baseName() + '/Balloon'
\r
49 @baseName() + '/Balloons'
\r
55 @engine_name() + '/balloons'
\r
57 class Pettanr.CircleSpeechBalloon.Speech extends Backbone.Model
\r
58 # OMG... this model is not petanized item
\r
59 # it means that can't change name
\r
61 "circle_speech_balloons"
\r
64 "CircleSpeechBalloon"
\r
67 @base_name() + '/speech'
\r
70 @base_name() + '/speeches'
\r
73 @baseName() + '/Speech'
\r
76 @baseName() + '/Speeches'
\r
82 @engine_name() + '/speeches'
\r
84 class Pettanr.CircleSpeechBalloon.SpeechBalloonModule
\r
85 supply_default: () ->
\r
87 speech_balloon_extend: () ->
\r
88 @new_speech_balloon() if not @sbex
\r
91 speech_balloon_extend_setter: (params) ->
\r
93 @sbex = new Pettanr.CircleSpeechBalloon.SpeechBalloon(params)
\r
94 # no supply default params
\r
96 new_speech_balloon: (params = {}) ->
\r
97 @sbex = new Pettanr.CircleSpeechBalloon.SpeechBalloon(params)
\r
98 @sbex.supply_default()
\r
100 class Pettanr.CircleSpeechBalloon.BalloonModule
\r
101 supply_default: () ->
\r
105 width: @parsed_settings()['speech_balloon']['default_width'],
\r
106 height: @parsed_settings()['speech_balloon']['default_height'],
\r
107 r: @parsed_settings()['speech_balloon']['default_r']
\r
109 @select_system_picture()
\r
111 balloon_extend: () ->
\r
112 @new_balloon() if not @bex
\r
115 balloon_extend_setter: (params) ->
\r
117 @bex = new Pettanr.CircleSpeechBalloon.Balloon(params)
\r
118 # no supply default params
\r
120 new_balloon: (params = {}) ->
\r
121 @bex = new Pettanr.CircleSpeechBalloon.Balloon(params)
\r
122 @bex.supply_default()
\r
124 parsed_settings: () ->
\r
125 return @parsed if @parsed
\r
126 @parsed = @templates.speech_balloon_template.parsed_settings()
\r
128 select_system_picture: () ->
\r
129 idx = @r_to_index(@round_r(@get('r')))
\r
130 sid = @parsed_settings()[Pettanr.to_s(idx)]['balloon']['system_picture_id']
\r
131 @set({system_picture_id: sid}, {silent: true})
\r
135 @parsed_settings()['speech_balloon']['r_step']
\r
140 tr = 360 + tr if tr < 0
\r
143 r_to_index: (round_r) ->
\r
144 # 0 ~ 45 -> 22.5 ~ 66.5
\r
145 offset = @r_step() / 2.0
\r
147 Math.floor(((round_r + offset) % 360) / @r_step())
\r
149 class Pettanr.CircleSpeechBalloon.SpeechModule
\r
150 supply_default: () ->
\r
151 s = @parsed_settings()['0']['speech']
\r
155 width: s['width_rate'],
\r
156 height: s['height_rate'],
\r
157 quotes: @parsed_settings()['speech_balloon']['quotes'],
\r
158 font_size: @parsed_settings()['speech_balloon']['default_font_size'],
\r
159 text_align: @parsed_settings()['speech_balloon']['default_text_align'],
\r
160 fore_color: @parsed_settings()['speech_balloon']['default_fore_color'],
\r
163 speech_extend: () ->
\r
166 speech_extend_setter: (params) ->
\r
168 @sex = new Pettanr.CircleSpeechBalloon.Speech(params)
\r
169 # no supply default params
\r
171 new_speech: (params = {}) ->
\r
172 @sex = new Pettanr.CircleSpeechBalloon.Speech(params)
\r
173 @sex.supply_default()
\r
175 parsed_settings: () ->
\r
176 return @parsed if @parsed
\r
177 @parsed = @templates.speech_balloon_template.parsed_settings()
\r
179 arrayed_quotes: () ->
\r
180 q = if Pettanr.is_blank(@get('quotes'))
\r
181 Pettanr.to_s(@parsed_settings()['speech_balloon']['quotes'])
\r