OSDN Git Service

Merge branch 'master' of https://scm.sourceforge.jp/gitroot/h58pcdgame/GameScriptCore...
[h58pcdgame/GameScriptCoreLibrary.git] / www / corelib / classes / PCDSLStageClass.js
1
2 var PCDSLStageClass = function(stgInfo, tbl)
3 {
4         //args:[tbl, mainCharacter]
5         PCDSLStageClass.base.apply(this, []);
6
7         //initalize process
8         with(stgInfo)
9         {
10                 if(stgInfo.width)       this.scrollMaxX = (width - 640 >= 0 ? width - 640 : 0);
11                 if(stgInfo.background){
12                         var back = document.createElement('img');
13                         back.src = "images/" + background;
14                         this.background = back;
15                 }
16                 if(stgInfo.BGM){
17                         this.BGM = stgInfo.BGM;
18                 }
19                 if(stgInfo.waterLevel){
20                         this.waterLevel = stgInfo.waterLevel;
21                 }
22         }
23         
24         var lx, ly, x, y;
25         for(y = 0, ly = tbl.length; y < ly; y++)
26         {
27                 for(x = 0, lx = tbl[y].length; x < lx; x++)
28                 {
29                         var item = tbl[y][x];
30                         var obj;
31                         
32                         if(item != null && item.base)
33                         {
34                                 var adjust = new Point2D(0, 0)
35                                 var sync = false;
36                                 
37                                 if(item.args){
38                                         //item\82ª {base: ... , args : ...}\82Ì\8c`\8e®
39                                         //\95K\90{\83v\83\8d\83p\83e\83B
40                                         if(item.args instanceof Array)
41                                         {
42                                                 //\8aî\96{\93I\82É\94z\97ñ\82Ì\82Ý\82ð\8eó\82¯\93ü\82ê\82é\81B
43                                                 obj = new (item.base)(this, item.args);
44                                         } else{
45                                                 //\94z\97ñ\82É\93ü\82ê\82Ä\82 \82°\82é
46                                                 obj = new (item.base)(this, [item.args]);
47                                         }
48                                 } else{
49                                         //\88ø\90\94\8ew\92è\82È\82µ:stage\83C\83\93\83X\83^\83\93\83X\82Ì\82Ý\82ð\88ø\90\94\82É\82Â\82¯\82é
50                                         obj = new item(this);
51                                 }
52                                 //\88È\89º\82Í\94C\88Ó\83v\83\8d\83p\83e\83B
53                                 if(item.prop)
54                                 {
55                                         /// {prop: { propName: "value" }\82Ì\8c`\82Å\83v\83\8d\83p\83e\83B\82ª\8ew\92è\82³\82ê\82Ä\82¢\82é
56                                         for(var propName in item.prop)
57                                         {
58                                                 //\83I\83u\83W\83F\83N\83g\82É\83v\83\8d\83p\83e\83B\82ð\90Ý\92è
59                                                 obj[propName] = item.prop[propName];
60                                         }
61                                 }
62                                 if(item.adjust)
63                                 {
64                                         // adjust : [xOffset, yOffset]\82Ì\8c`\82Å\88Ê\92u\82Ì\94÷\92²\90®\82ª\82È\82³\82ê\82Ä\82¢\82é
65                                         adjust = new Point2D(item.adjust[0], item.adjust[1]);
66                                 }
67                                 if(item.extid)
68                                 {
69                                         //\83X\83e\81[\83W\93à\82Å\83O\83\8d\81[\83o\83\8b\82©\82Â\92P\88ê\82È\83I\83u\83W\83F\83N\83g\82ÌID
70                                         obj.extObjectId = item.extid;
71                                 }
72                                 if(item.sync)
73                                 {
74                                         //\83l\83b\83g\83\8f\81[\83N\8dX\90V\82ð\82·\82é\82©\82Ç\82¤\82©
75                                         sync = item.sync;
76                                 }
77                                 
78                                 //\94z\92u
79                                 obj.origin = new Point2D(x * 32 + adjust.x, y * 32 + adjust.y);
80                                 this.addStageObject(obj, sync);
81                         }
82                 }
83         }
84 }.extend(HorizonalScrollStageClass, {
85         runStage: function(){
86                 HorizonalScrollStageClass.prototype.runStage.apply(this, []);
87                 this.manager.setBackgroundMusic(this.BGM);
88                 this.manager.addWidget(new UserStateWidgetClass(this.manager));
89                 this.manager.addWidget(new PickedItemWidgetClass(this.manager));
90         }
91 });
92