|
|
@@ -0,0 +1,97 @@ |
|
|
|
function ТемаФишек(имя) |
|
|
|
{ |
|
|
|
this.имя = имя; |
|
|
|
|
|
|
|
// Частичные имена текстур для загрузки. |
|
|
|
this.нейтральТекстуры = []; |
|
|
|
this.выборТекстуры = []; |
|
|
|
for (var номер = 1; номер <= 42; ++номер) |
|
|
|
{ |
|
|
|
this.нейтральТекстуры.push("0/" + номер); |
|
|
|
this.выборТекстуры.push("1/" + номер); |
|
|
|
} |
|
|
|
|
|
|
|
// Материалы фишек. |
|
|
|
this.нейтраль = []; |
|
|
|
this.выбор = []; |
|
|
|
}; |
|
|
|
ТемаФишек.prototype.имяФайлаТекстуры = function(частичноеИмя) |
|
|
|
{ |
|
|
|
return частичноеИмя + ".png"; |
|
|
|
} |
|
|
|
ТемаФишек.prototype.имяТекстуры = function(частичноеИмя) |
|
|
|
{ |
|
|
|
return "tile.tex/" + частичноеИмя; |
|
|
|
} |
|
|
|
ТемаФишек.prototype.имяМатериала = function(частичноеИмя) |
|
|
|
{ |
|
|
|
return "tile.mat/" + частичноеИмя; |
|
|
|
} |
|
|
|
ТемаФишек.prototype.загрузить = function(основаАдреса, отклик) |
|
|
|
{ |
|
|
|
var ресурсы = []; |
|
|
|
// Список ресурсов для загрузки. |
|
|
|
for (var номер in this.нейтральТекстуры) |
|
|
|
{ |
|
|
|
// Нейтраль. |
|
|
|
{ |
|
|
|
const чимя = this.нейтральТекстуры[номер]; |
|
|
|
const имя = this.имяТекстуры(чимя) |
|
|
|
const файл = this.имяФайлаТекстуры(чимя); |
|
|
|
ресурсы.push([основаАдреса + файл, имя]); |
|
|
|
} |
|
|
|
// Выбор. |
|
|
|
{ |
|
|
|
const чимя = this.выборТекстуры[номер]; |
|
|
|
const имя = this.имяТекстуры(чимя) |
|
|
|
const файл = this.имяФайлаТекстуры(чимя); |
|
|
|
ресурсы.push([основаАдреса + файл, имя]); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
const времяНачала = Date.now(); |
|
|
|
|
|
|
|
// Получить текстуры и завести материалы. |
|
|
|
var self = this; |
|
|
|
муром.ресурсы.получить( |
|
|
|
ресурсы, |
|
|
|
function() |
|
|
|
{ |
|
|
|
const прошло = Date.now() - времяНачала; |
|
|
|
console.log("ТемаФишек. Загрузка заняла мс: '" + прошло + "'"); |
|
|
|
|
|
|
|
self.создатьМатериалы(); |
|
|
|
отклик(); |
|
|
|
} |
|
|
|
); |
|
|
|
}; |
|
|
|
ТемаФишек.prototype.создатьМатериалы = function() |
|
|
|
{ |
|
|
|
const вер = муром.ресурсы.ресурс("ver").содержимое; |
|
|
|
const фра = муром.ресурсы.ресурс("fra").содержимое; |
|
|
|
for (var номер in this.нейтральТекстуры) |
|
|
|
{ |
|
|
|
// Нейтраль. |
|
|
|
{ |
|
|
|
const чимя = this.нейтральТекстуры[номер]; |
|
|
|
const имяТ = this.имяТекстуры(чимя) |
|
|
|
const имяМ = this.имяМатериала(чимя); |
|
|
|
var мат = муром.материалы.создатьМатериал(имяМ); |
|
|
|
var изо = муром.ресурсы.ресурс(имяТ); |
|
|
|
мат.задатьТекстуру("image", изо); |
|
|
|
мат.задатьШейдеры(вер, фра); |
|
|
|
this.нейтраль[номер] = мат; |
|
|
|
} |
|
|
|
// Выбор. |
|
|
|
{ |
|
|
|
const чимя = this.выборТекстуры[номер]; |
|
|
|
const имяТ = this.имяТекстуры(чимя) |
|
|
|
const имяМ = this.имяМатериала(чимя); |
|
|
|
var мат = муром.материалы.создатьМатериал(имяМ); |
|
|
|
var изо = муром.ресурсы.ресурс(имяТ); |
|
|
|
мат.задатьТекстуру("image", изо); |
|
|
|
мат.задатьШейдеры(вер, фра); |
|
|
|
this.выбор[номер] = мат; |
|
|
|
} |
|
|
|
} |
|
|
|
}; |