Автор: Alexwilds Пример инвентаря, который можно использовать при создании РПГ.
Демонстрация
Скачать паккадж:
1,58 Мб
Версия с драг-дропом:
1,35 Мб
Скрипт для извлечения предмета из инвентаря:
Code
function OnGUI() {
var texToUse : Texture2D;
var currentInventoryItem : InventoryItem;
//Ïåðåõîä ÷åðåç êàæäóþ ñòðîêó
for( var i = 0; i < inventory.length; i ++ )
{
// è êàæäûé ñòîëáåö
for( var k = 0; k < inventory[i].length; k ++ )
{
texToUse = null;
currentInventoryItem = inventory[i][k];
//Åñëè åñòü ïóíêò â I-é ñòðîêè è K-ãî ñòîëáöà, íàðèñîâàòü
if( inventory[i][k] != null )
{
texToUse = currentInventoryItem.texRepresentation;
}
var it = GUI.Button( new Rect( offSet.x+k*(iconWidthHeight+spacing), offSet.y+i*(iconWidthHeight+spacing), iconWidthHeight, iconWidthHeight ), texToUse );
GUI.Button( new Rect( offSet.x+k*(iconWidthHeight+spacing), offSet.y+i*(iconWidthHeight+spacing), iconWidthHeight, iconWidthHeight ), texToUse );
var w : int = 0;
var h : int = 0;
if ((it) && (currentInventoryItem != null))
{
currentInventoryItem.texRepresentation = null;
inventory[i][k] = null;
//i
//That is the magic of droping objects from inventory
if(texToUse == shieldtex) {
Instantiate(shieldo,transform.position,transform.rotation);
}
if(texToUse == swordtex) {
Instantiate(swordo,transform.position,transform.rotation);
}
//òóò áóäåò äðîï
Debug.Log("YES!!!!!!!!!!!!!!!!!!!");
}
}
}
}
Скрипт для определения позиции спауна извлекаемого оружия, аттачить к ГГ
Добавлено (17.07.2010, 16:47)
---------------------------------------------
Альтернативная система.
Автор: Xeno360
Работающая система инвентаря. Содержит 3 скрипта, необходимую графику и тестовую сцену. ИМХО, попроще предыдущей, но зато и проще разобраться.
Демонстрация
Скачать проект:
1,05 Мб