|
- 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.выбор[номер] = мат;
- }
- }
- };
|