Browse Source

Добавить ТемаФишек

master
parent
commit
8e08067788
1 changed files with 97 additions and 0 deletions
  1. +97
    -0
      классы/ТемаФишек/2019-09-06.js

+ 97
- 0
классы/ТемаФишек/2019-09-06.js View File

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

Loading…
Cancel
Save