OSDN Git Service

fix:balloon r
[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: () ->\r
86   \r
87   speech_balloon_extend: () ->\r
88     @new_speech_balloon() if not @sbex\r
89     @sbex\r
90   \r
91   speech_balloon_extend_setter: (params) ->\r
92     # load attributes\r
93     @sbex = new Pettanr.CircleSpeechBalloon.SpeechBalloon(params)\r
94     # no supply default params\r
95   \r
96   new_speech_balloon: (params = {}) -> \r
97     @sbex = new Pettanr.CircleSpeechBalloon.SpeechBalloon(params)\r
98     @sbex.supply_default()\r
99   \r
100 class Pettanr.CircleSpeechBalloon.BalloonModule\r
101   supply_default: () ->\r
102     @set({\r
103       x: 0,\r
104       y: 0,\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
108     })\r
109     @select_system_picture()\r
110   \r
111   balloon_extend: () ->\r
112     @new_balloon() if not @bex\r
113     @bex\r
114   \r
115   balloon_extend_setter: (params) ->\r
116     # load attributes\r
117     @bex = new Pettanr.CircleSpeechBalloon.Balloon(params)\r
118     # no supply default params\r
119   \r
120   new_balloon: (params = {}) -> \r
121     @bex = new Pettanr.CircleSpeechBalloon.Balloon(params)\r
122     @bex.supply_default()\r
123   \r
124   parsed_settings: () ->\r
125     return @parsed if @parsed\r
126     @parsed = @templates.speech_balloon_template.parsed_settings()\r
127   \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
132     sid\r
133   \r
134   r_step: () ->\r
135     @parsed_settings()['speech_balloon']['r_step']\r
136   \r
137   # round 0 ~ 359\r
138   round_r: (r) ->\r
139     tr = r % 360\r
140     tr = 360 + tr if tr < 0\r
141     tr\r
142   \r
143   r_to_index: (round_r) ->\r
144     # 0 ~ 45 -> 22.5 ~ 66.5\r
145     offset = @r_step() / 2.0\r
146     # rounded index\r
147     Math.floor(((round_r + offset) % 360) / @r_step())\r
148   \r
149 class Pettanr.CircleSpeechBalloon.SpeechModule\r
150   supply_default: () ->\r
151     s = @parsed_settings()['0']['speech']\r
152     @set({\r
153       x: s['x_rate'],\r
154       y: s['y_rate'],\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
161     })\r
162   \r
163   speech_extend: () ->\r
164     @sex\r
165   \r
166   speech_extend_setter: (params) ->\r
167     # load attributes\r
168     @sex = new Pettanr.CircleSpeechBalloon.Speech(params)\r
169     # no supply default params\r
170   \r
171   new_speech: (params = {}) -> \r
172     @sex = new Pettanr.CircleSpeechBalloon.Speech(params)\r
173     @sex.supply_default()\r
174   \r
175   parsed_settings: () ->\r
176     return @parsed if @parsed\r
177     @parsed = @templates.speech_balloon_template.parsed_settings()\r
178   \r
179   arrayed_quotes: () ->\r
180     q = if Pettanr.is_blank(@get('quotes'))\r
181       Pettanr.to_s(@parsed_settings()['speech_balloon']['quotes'])\r
182     else\r
183       @get('quotes')\r
184     q.split(' ')\r
185   \r