Редактирование:Визуальная составляющая ICRender

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 1: Строка 1:
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
+
<div class="mw-parser-output"><div class="mw-parser-output">
<div class="mw-parser-output">
 
 
= <span style="font-size:18.0pt"><span style="line-height:107%">Визуальная составляющая ICRender</span></span> =
 
= <span style="font-size:18.0pt"><span style="line-height:107%">Визуальная составляющая ICRender</span></span> =
  
Строка 8: Строка 7:
  
 
<span style="line-height:104%"><span style="font-size:12.0pt"><span style="line-height:104%">Используя модели ICRender для обработки простых условий и их маппинг на координаты, который был рассмотрен ранее, можно создать любой внешний вид блока и в абсолютном большинстве случаев заменить прямой каллбек рендера.</span></span></span>
 
<span style="line-height:104%"><span style="font-size:12.0pt"><span style="line-height:104%">Используя модели ICRender для обработки простых условий и их маппинг на координаты, который был рассмотрен ранее, можно создать любой внешний вид блока и в абсолютном большинстве случаев заменить прямой каллбек рендера.</span></span></span>
 +
 
<div class="mw-parser-output">
 
<div class="mw-parser-output">
 
== Модель ICRender ==
 
== Модель ICRender ==
Строка 15: Строка 15:
  
 
<span style="line-height:104%"><span style="font-size:12.0pt"><span style="line-height:104%">Для добавления статичной модели (они были рассмотрены ранее) в модель ICRender используется метод ''addEntry(model)'', отдающий объект, позволяющий установить условия отрисовки:</span></span></span>
 
<span style="line-height:104%"><span style="font-size:12.0pt"><span style="line-height:104%">Для добавления статичной модели (они были рассмотрены ранее) в модель ICRender используется метод ''addEntry(model)'', отдающий объект, позволяющий установить условия отрисовки:</span></span></span>
<syntaxhighlight lang="Javascript">var model = new BlockRenderer.Model(); … modify model ... var entry = icRender.addEntry(model);</syntaxhighlight>
+
<syntaxhighlight lang="Javascript">var model = new BlockRender.BlockModel(); … modify model ... var entry = icRender.addEntry(model);</syntaxhighlight>
  
 
<span style="line-height:104%"><span style="font-size:12.0pt"><span style="line-height:104%">Для установки условий отрисовки используется метод полученного объекта ''setCondition(condition)'', где condition - объект условия, которые будут рассмотрены далее:</span></span></span>
 
<span style="line-height:104%"><span style="font-size:12.0pt"><span style="line-height:104%">Для установки условий отрисовки используется метод полученного объекта ''setCondition(condition)'', где condition - объект условия, которые будут рассмотрены далее:</span></span></span>
Строка 25: Строка 25:
  
 
<span style="line-height:104%"><span style="font-size:12.0pt"><span style="line-height:104%">Если условие не было установлено, то данная статичная модель будет всегда видима.</span></span></span>
 
<span style="line-height:104%"><span style="font-size:12.0pt"><span style="line-height:104%">Если условие не было установлено, то данная статичная модель будет всегда видима.</span></span></span>
</div> <div class="mw-parser-output">
+
</div>
  
 
== Группы блоков ==
 
== Группы блоков ==
Строка 33: Строка 33:
 
<u style="text-underline:black"><span style="font-size:12.0pt"><span style="line-height:107%">Для создания группы используются методы:</span></span></u>
 
<u style="text-underline:black"><span style="font-size:12.0pt"><span style="line-height:107%">Для создания группы используются методы:</span></span></u>
  
<span style="line-height:108%"><span style="font-size:12.0pt"><span style="line-height:108%">ICRender.getGroup("name") - возвращает группу, зарегистрированную под данным именем, если такой нет, создает новую и регистрирует. Имя нужно для удобства доступа и совместимости между модами (К примеру, все блоки, к которым подключаются провода в Industrial Craft зарегистрированы в группе с именем</span></span>''''<span style="font-size:12.0pt"><span style="line-height:108%"><span style="color:#032f62">"icwire")</span></span></span>''''</span>
+
<span style="line-height:108%">''<span style="font-size:12.0pt"><span style="line-height:108%">ICRender.getGroup("name") - возвращает группу, зарегистрированную под данным именем, если такой нет, создает новую и регистрирует. Имя нужно для удобства доступа и совместимости между модами (К примеру, все блоки, к которым подключаются провода в Industrial Craft зарегистрированы в группе с именем</span></span>''''<span style="font-size:12.0pt"><span style="line-height:108%"><span style="color:#032f62">"icwire")</span></span></span>''''''</span>
  
<span style="line-height:135%"><span style="font-size:12.0pt"><span style="line-height:135%">ICRender.getUnnamedGroup() - создает и возвращает новую группу без имени, используется для создания локальных групп</span></span><u style="text-underline:black"><span style="font-size:12.0pt"><span style="line-height:135%">Методы группы блоков:</span></span></u></span>
+
<span style="line-height:135%">''<span style="font-size:12.0pt"><span style="line-height:135%">ICRender.getUnnamedGroup() - создает и возвращает новую группу без имени, используется для создания локальных групп</span></span>''<u style="text-underline:black"><span style="font-size:12.0pt"><span style="line-height:135%">Методы группы блоков:</span></span></u></span>
  
<span style="line-height:135%"><span style="font-size:12.0pt"><span style="line-height:135%">group.add(id, data) - добавляет блок с данным id и data в группу, если вместо data передано число -1, в группу будут добавлены все блоки с этим id</span></span></span>
+
<span style="line-height:135%">''<span style="font-size:12.0pt"><span style="line-height:135%">group.add(id, data) - добавляет блок с данным id и data в группу, если вместо data передано число -1, в группу будут добавлены все блоки с этим id group.getName() - возвращает имя группы</span></span>''</span>
  
<span style="line-height:135%"><span style="font-size:12.0pt"><span style="line-height:135%">group.getName() - возвращает имя группы</span></span></span>
+
&nbsp;
</div> </div>
 
  
 
= Условия =
 
= Условия =
Строка 54: Строка 53:
 
<span style="line-height:108%">''<span style="font-size:12.0pt"><span style="line-height:108%">ICRender.OR(condition1, condition2, …) - логический оператор ИЛИ, принимает 2 или больше условий на вход, выполняется, если хотя бы одно из условий тоже выполняется.</span></span>''</span>
 
<span style="line-height:108%">''<span style="font-size:12.0pt"><span style="line-height:108%">ICRender.OR(condition1, condition2, …) - логический оператор ИЛИ, принимает 2 или больше условий на вход, выполняется, если хотя бы одно из условий тоже выполняется.</span></span>''</span>
  
<div class="mw-parser-output">
+
<div class="mw-parser-output"><h2> Пример<i> </h2></i><p><span style="line-height:104%"><span style="font-size:12.0pt"><span style="line-height:104%">Будет рассмотрено достаточно простое и распространенное применение ICRender - создание блока наподобие провода или трубы, который может соединяться с соседними такими же со всех сторон.</span></span></span>
== Пример'' ==
+
</p><p>&#160;
 
+
<pre class="fck_mw_syntaxhighlight"><syntaxhighlight lang="Javascript">var id = … // id блока провода  
<span style="line-height:104%"><span style="font-size:12.0pt"><span style="line-height:104%">Будет рассмотрено достаточно простое и распространенное применение ICRender - создание блока наподобие провода или трубы, который может соединяться с соседними такими же со всех сторон.</span></span></span>
 
 
 
&nbsp;
 
<syntaxhighlight lang="Javascript">var id = … // id блока провода  
 
 
var width = 0.5 // толщина провода
 
var width = 0.5 // толщина провода
var group = ICRender.getGroup("testWire"); // группа блоков  
+
var group = ICRender.getGroup(&quot;testWire&quot;); // группа блоков  
 
group.add(id, -1); // добавим сам провод в группу
 
group.add(id, -1); // добавим сам провод в группу
  
Строка 92: Строка 87:
  
 
// устанавливаем созданную модель блоку
 
// устанавливаем созданную модель блоку
BlockRenderer.setStaticICRender(id, -1, model);</syntaxhighlight>
+
BlockRenderer.setStaticICRender(id, -1, model);</syntaxhighlight></pre>
 
+
</p><p>&#160;
&nbsp; </div> </div> </div>
+
&lt;/div&gt; &lt;/div&gt;
</div>
+
</p></div>

Обратите внимание, что все добавления и изменения текста статьи рассматриваются как выпущенные на условиях лицензии GNU Free Documentation License 1.3 или более поздняя (см. Mineprogramming wiki:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!