_parse: function (str) {\r
var plusminus = str.search(/[\+\-]/),\r
event = null,\r
- ele;\r
+ ele,\r
+ /*endListのvalueプロパティには、活動継続フレーム数と開始フレーム数を足したものが入る*/\r
+ endList = this.$list.addEndList(Number.MAX_VALUE);\r
+ if (this.$end) {\r
+ /*$endオブジェクトを継承していた場合、\r
+ *活動継続フレーム数関連のリストは無効とする*/\r
+ endList = { value: 0};\r
+ }\r
if (str === "indefinite") {\r
this.begin = Number.MAX_VALUE;\r
} else if (plusminus > 0) {\r
/*イベントのリスナーとして使う*/\r
listener = function(evt) {\r
objList.value = this.begin = eventOffset + this.$frame.currentFrame;\r
+ endList.value = this.$list.begin + this.activeTime;\r
this.isResolved = true;\r
};\r
this.eventOffset = eventOffset;\r
}\r
} else {\r
/*開始リストに登録しておく($endの場合は終了リストに登録)*/\r
- var objList = this.$list.addList(this.begin);\r
+ this.$list.addList(this.begin);\r
+ /*活動継続時間から算出される終了フレーム数は、終了リストに入れておく*/\r
+ endList.value = this.$list.begin + this.activeTime;\r
}\r
s = event = str = plusminus = ele = void 0;\r
},\r
this.isResolved = false;\r
/*$listオブジェクトを更新*/\r
this.$list = this.$list.up();\r
+ /*beginとend属性を考慮に入れないで、活動継続時間を求める*/\r
+ var s = this.$activate.up();\r
+ this.activeTime = s.call() || Number.MAX_VALUE;\r
+ this.simpleDuration = s.simpleDur;\r
var str = this.trim(this.string);\r
if (str.indexOf(";") > -1){\r
/*;で区切られたリストを一つずつ解析*/\r
} else {\r
this._parse(str);\r
}\r
- /*beginとend属性を考慮に入れないで、活動継続時間を求める*/\r
- var s = this.$activate.up();\r
- this.activeTime = s.call() || Number.MAX_VALUE;\r
- this.simpleDuration = s.simpleDur;\r
s = str = void 0;\r
return this;\r
},\r