OSDN Git Service

fix:balloon edit
[pettanr/pettanr.git] / app / assets / javascripts / addons / circle_speech_balloons / init.js.coffee
1 class Pettanr.CircleSpeechBalloon\r
2   \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
6   base_name: () ->\r
7     "circle_speech_balloons"\r
8   \r
9   baseName: () ->\r
10     "CircleSpeechBalloon"\r
11   \r
12   item_name: () ->\r
13     @base_name() + '/speech_balloon'\r
14   \r
15   table_name: () ->\r
16     @base_name() + '/speech_balloons'\r
17   \r
18   singular: () ->\r
19     @baseName() + '/SpeechBalloon'\r
20   \r
21   plural: () ->\r
22     @baseName() + '/SpeechBalloons'\r
23   \r
24   engine_name: () ->\r
25     @table_name()\r
26   \r
27   form_name: () ->\r
28     @engine_name() + '/speech_balloons'\r
29 \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
33   base_name: () ->\r
34     "circle_speech_balloons"\r
35   \r
36   baseName: () ->\r
37     "CircleSpeechBalloon"\r
38   \r
39   item_name: () ->\r
40     @base_name() + '/balloon'\r
41   \r
42   table_name: () ->\r
43     @base_name() + '/balloons'\r
44   \r
45   singular: () ->\r
46     @baseName() + '/Balloon'\r
47   \r
48   plural: () ->\r
49     @baseName() + '/Balloons'\r
50   \r
51   engine_name: () ->\r
52     @table_name()\r
53   \r
54   form_name: () ->\r
55     @engine_name() + '/balloons'\r
56 \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
60   base_name: () ->\r
61     "circle_speech_balloons"\r
62   \r
63   baseName: () ->\r
64     "CircleSpeechBalloon"\r
65   \r
66   item_name: () ->\r
67     @base_name() + '/speech'\r
68   \r
69   table_name: () ->\r
70     @base_name() + '/speeches'\r
71   \r
72   singular: () ->\r
73     @baseName() + '/Speech'\r
74   \r
75   plural: () ->\r
76     @baseName() + '/Speeches'\r
77   \r
78   engine_name: () ->\r
79     @table_name()\r
80   \r
81   form_name: () ->\r
82     @engine_name() + '/speeches'\r
83 \r
84 class Pettanr.CircleSpeechBalloon.SpeechBalloonModule\r
85   supply_default: (templates) ->\r
86     @templates = templates\r
87   \r
88   speech_balloon_extend: () ->\r
89     @new_speech_balloon() if not @sbex\r
90     @sbex\r
91   \r
92   speech_balloon_extend_setter: (params) ->\r
93     # load attributes\r
94     @sbex = new Pettanr.CircleSpeechBalloon.SpeechBalloon(params)\r
95     # no supply default params\r
96   \r
97   new_speech_balloon: (params = {}) -> \r
98     @sbex = new Pettanr.CircleSpeechBalloon.SpeechBalloon(params)\r
99     @sbex.supply_default()\r
100   \r
101 class Pettanr.CircleSpeechBalloon.BalloonModule\r
102   supply_default: (templates) ->\r
103     @templates = templates\r
104     @set({\r
105       x: 0,\r
106       y: 0,\r
107       width: @parsed_settings()['speech_balloon']['default_width'],\r
108       height: @parsed_settings()['speech_balloon']['default_height'],\r
109       r: @parsed_settings()['speech_balloon']['default_r']\r
110     })\r
111     @select_system_picture()\r
112   \r
113   hoge_templates: () ->\r
114     if !@templates.speech_balloon_template\r
115       retriever = new Pettanr.Cache.Retriever(Pettanr.SpeechBalloonTemplate, @get('speech_balloon_template_id'))\r
116       @listenTo(retriever, 'retrieve', @retrieve_speech_balloon_template)\r
117       retriever.retrieve()\r
118   \r
119   retrieve_speech_balloon_template: (speech_balloon_template) -> \r
120     @templates.speech_balloon_template = speech_balloon_template\r
121   \r
122   balloon_extend: () ->\r
123     @new_balloon() if not @bex\r
124     @bex\r
125   \r
126   balloon_extend_setter: (params) ->\r
127     # load attributes\r
128     @bex = new Pettanr.CircleSpeechBalloon.Balloon(params)\r
129     # no supply default params\r
130   \r
131   new_balloon: (params = {}) -> \r
132     @bex = new Pettanr.CircleSpeechBalloon.Balloon(params)\r
133     @bex.supply_default()\r
134   \r
135   parsed_settings: () ->\r
136     return @parsed if @parsed\r
137     @parsed = @templates.speech_balloon_template.parsed_settings()\r
138   \r
139   select_system_picture: () ->\r
140     idx = @r_to_index(@round_r(@get('r')))\r
141     sid = @parsed_settings()[Pettanr.to_s(idx)]['balloon']['system_picture_id']\r
142     @set({system_picture_id: sid}, {silent: true})\r
143     sid\r
144   \r
145   r_step: () ->\r
146     @parsed_settings()['speech_balloon']['r_step']\r
147   \r
148   # round 0 ~ 359\r
149   round_r: (r) ->\r
150     tr = r % 360\r
151     tr = 360 + tr if tr < 0\r
152     tr\r
153   \r
154   r_to_index: (round_r) ->\r
155     # 0 ~ 45 -> 22.5 ~ 66.5\r
156     offset = @r_step() / 2.0\r
157     # rounded index\r
158     Math.floor(((round_r + offset) % 360) / @r_step())\r
159   \r
160 class Pettanr.CircleSpeechBalloon.SpeechModule\r
161   supply_default: (templates) ->\r
162     @templates = templates\r
163     s = @parsed_settings()['0']['speech']\r
164     @set({\r
165       x: s['x_rate'],\r
166       y: s['y_rate'],\r
167       width: s['width_rate'],\r
168       height: s['height_rate'],\r
169       quotes: @parsed_settings()['speech_balloon']['quotes'],\r
170       font_size: @parsed_settings()['speech_balloon']['default_font_size'],\r
171       text_align: @parsed_settings()['speech_balloon']['default_text_align'],\r
172       fore_color: @parsed_settings()['speech_balloon']['default_fore_color'],\r
173     })\r
174   \r
175   speech_extend: () ->\r
176     @sex\r
177   \r
178   speech_extend_setter: (params) ->\r
179     # load attributes\r
180     @sex = new Pettanr.CircleSpeechBalloon.Speech(params)\r
181     # no supply default params\r
182   \r
183   new_speech: (params = {}) -> \r
184     @sex = new Pettanr.CircleSpeechBalloon.Speech(params)\r
185     @sex.supply_default()\r
186   \r
187   parsed_settings: () ->\r
188     return @parsed if @parsed\r
189     @parsed = @templates.speech_balloon_template.parsed_settings()\r
190   \r
191   arrayed_quotes: () ->\r
192     q = if Pettanr.is_blank(@get('quotes'))\r
193       Pettanr.to_s(@parsed_settings()['speech_balloon']['quotes'])\r
194     else\r
195       @get('quotes')\r
196     q.split(' ')\r
197   \r