OSDN Git Service

38777a94615ce70e510f6a1d16b4071e0fa80261
[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     super()\r
87     sbt = @speech_balloon_template()\r
88     sbt.fetch({cache: true}).done =>\r
89       @speech_balloon_template_module_name = sbt.get('module_name')\r
90   \r
91   speech_balloon_extend: () ->\r
92     @new_speech_balloon() if not @sbex\r
93     @sbex\r
94   \r
95   speech_balloon_extend_setter: (params) ->\r
96     # load attributes\r
97     @sbex = new Pettanr.CircleSpeechBalloon.SpeechBalloon(params)\r
98     # no supply default params\r
99   \r
100   new_speech_balloon: (params = {}) -> \r
101     @sbex = new Pettanr.CircleSpeechBalloon.SpeechBalloon(params)\r
102     @sbex.supply_default()\r
103   \r
104 class Pettanr.CircleSpeechBalloon.BalloonModule\r
105   supply_default: () ->\r
106     super()\r
107     s = @parsed_settings()['all']['balloon']\r
108     @set({\r
109       x: 0,\r
110       y: 0,\r
111       width: @parsed_settings()['speech_balloon']['default_width'],\r
112       eight: @parsed_settings()['speech_balloon']['default_height'],\r
113       r: @parsed_settings()['speech_balloon']['default_r']\r
114     })\r
115   \r
116   balloon_extend: () ->\r
117     @new_balloon() if not @bex\r
118     @bex\r
119   \r
120   balloon_extend_setter: (params) ->\r
121     # load attributes\r
122     @bex = new Pettanr.CircleSpeechBalloon.Balloon(params)\r
123     # no supply default params\r
124   \r
125   new_balloon: (params = {}) -> \r
126     @bex = new Pettanr.CircleSpeechBalloon.Balloon(params)\r
127     @bex.supply_default()\r
128   \r
129   parsed_settings: () ->\r
130     return @parsed if @parsed\r
131     sbt = @speech_balloon_template()\r
132     sbt.fetch({cache: true}).done =>\r
133       @parsed = sbt.parsed_settings()\r
134   \r
135   select_system_picture: () ->\r
136     tr = @get('r') % 360\r
137     tr = 360 + tr if tr < 0\r
138     offset = @r_step() / 2.0\r
139     idx = Pettanr.to_i(((tr + offset) % 360) / @r_step())\r
140     sid = @parsed_settings()[Pettanr.to_s(idx)]['balloon']['system_picture_id']\r
141     @set('system_picture_id', sid)\r
142     sid\r
143   \r
144   r_step: () ->\r
145     @parsed_settings()['speech_balloon']['r_step']\r
146   \r
147 class Pettanr.CircleSpeechBalloon.SpeechModule\r
148   supply_default: () ->\r
149     super()\r
150     s = @parsed_settings()['0']['speech']\r
151     @set({\r
152       x: s['x_rate'],\r
153       y: s['y_rate'],\r
154       width: s['width_rate'],\r
155       height: s['height_rate'],\r
156       quotes: '',\r
157       font_size: @parsed_settings()['speech_balloon']['default_font_size'],\r
158       text_align: @parsed_settings()['speech_balloon']['default_text_align'],\r
159       fore_color: @parsed_settings()['speech_balloon']['default_fore_color'],\r
160     })\r
161   \r
162   speech_extend: () ->\r
163     @sex\r
164   \r
165   speech_extend_setter: (params) ->\r
166     # load attributes\r
167     @sex = new Pettanr.CircleSpeechBalloon.Speech(params)\r
168     # no supply default params\r
169   \r
170   new_speech: (params = {}) -> \r
171     @sex = new Pettanr.CircleSpeechBalloon.Speech(params)\r
172     @sex.supply_default()\r
173   \r
174   parsed_settings: () ->\r
175     return @parsed if @parsed\r
176     sbt = @speech_balloon_template()\r
177     sbt.fetch({cache: true}).done =>\r
178       @parsed = sbt.parsed_settings()\r
179   \r
180   arrayed_quotes: () ->\r
181     q = if Pettanr.is_blank(@get('quotes'))\r
182       Pettanr.to_s(@parsed_settings()['speech_balloon']['quotes'])\r
183     else\r
184       @get('quotes')\r
185     q.split(' ')\r
186   \r