forked from Mirrors/openclonk
Fixed numbering of ringmenu, applied to buying at flag and weapon selector
parent
edfda6aecb
commit
821155b11c
|
@ -1,42 +0,0 @@
|
|||
/* larger dynamite explosion */
|
||||
|
||||
#appendto RelaunchContainer
|
||||
|
||||
private func OpenWeaponMenu(object clonk)
|
||||
{
|
||||
if (!menu)
|
||||
{
|
||||
var weapons = WeaponList();
|
||||
if(weapons)
|
||||
{
|
||||
menu = clonk->CreateRingMenu(Clonk, this);
|
||||
for (var weapon in weapons)
|
||||
{
|
||||
if(weapon == Firestone) menu->AddItem(weapon,2);
|
||||
else if(weapon == Dynamite) menu->AddItem(weapon,2);
|
||||
else menu->AddItem(weapon);
|
||||
}
|
||||
menu->Show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public func Selected(object menu, object selector, bool alt)
|
||||
{
|
||||
if (!selector)
|
||||
return false;
|
||||
|
||||
for (var i = 0; i < selector->GetAmount(); i++)
|
||||
{
|
||||
var newobj = CreateObject(selector->GetSymbol());
|
||||
if (newobj->GetID() == Bow)
|
||||
newobj->CreateContents(Arrow);
|
||||
if (newobj->GetID() == Musket)
|
||||
newobj->CreateContents(LeadShot);
|
||||
Contents()->Collect(newobj);
|
||||
}
|
||||
menu->Show();
|
||||
RelaunchClonk();
|
||||
return true;
|
||||
}
|
|
@ -1,5 +1,3 @@
|
|||
/* larger dynamite explosion */
|
||||
|
||||
#appendto RelaunchContainer
|
||||
|
||||
private func OpenWeaponMenu(object clonk)
|
||||
|
@ -14,30 +12,10 @@ private func OpenWeaponMenu(object clonk)
|
|||
{
|
||||
if(weapon == Firestone) menu->AddItem(weapon,2);
|
||||
else if(weapon == Dynamite) menu->AddItem(weapon,2);
|
||||
else menu->AddItem(weapon);
|
||||
else menu->AddItem(weapon, 1);
|
||||
}
|
||||
menu->Show();
|
||||
menu->SetUncloseable();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public func Selected(object menu, object selector, bool alt)
|
||||
{
|
||||
if (!selector)
|
||||
return false;
|
||||
|
||||
for (var i = 0; i < selector->GetAmount(); i++)
|
||||
{
|
||||
var newobj = CreateObject(selector->GetSymbol());
|
||||
if (newobj->GetID() == Bow)
|
||||
newobj->CreateContents(Arrow);
|
||||
if (newobj->GetID() == Musket)
|
||||
newobj->CreateContents(LeadShot);
|
||||
Contents()->Collect(newobj);
|
||||
}
|
||||
menu->Show();
|
||||
RelaunchClonk();
|
||||
return true;
|
||||
}
|
|
@ -62,7 +62,7 @@ private func OpenWeaponMenu(object clonk)
|
|||
{
|
||||
menu = clonk->CreateRingMenu(Clonk, this);
|
||||
for (var weapon in weapons)
|
||||
menu->AddItem(weapon);
|
||||
menu->AddItem(weapon, 1);
|
||||
menu->Show();
|
||||
menu->SetUncloseable();
|
||||
}
|
||||
|
@ -96,7 +96,11 @@ public func Selected(object menu, object selector, bool alt)
|
|||
if (!selector)
|
||||
return false;
|
||||
|
||||
for (var i = 0; i < selector->GetAmount(); i++)
|
||||
var amount = selector->GetAmount();
|
||||
if (amount > 1)
|
||||
alt = nil;
|
||||
|
||||
for (var i = 0; i < amount; i++)
|
||||
GiveWeapon(selector->GetSymbol(), alt);
|
||||
|
||||
has_selected = true;
|
||||
|
|
|
@ -40,12 +40,8 @@ public func SetBG(bool newbg) {
|
|||
|
||||
public func SetNothing() // No item, no image, no whatever, just a plain button
|
||||
{
|
||||
SetAmount(0);
|
||||
SetAmount(nil);
|
||||
SetSymbol();
|
||||
SetGraphics(nil,nil,9);
|
||||
SetGraphics(nil,nil,10);
|
||||
SetGraphics(nil,nil,11);
|
||||
SetGraphics(nil,nil,12);
|
||||
}
|
||||
|
||||
public func SetSize(int s) // in px *1000
|
||||
|
@ -122,9 +118,15 @@ public func SetExtraData(extradata)
|
|||
}
|
||||
public func SetAmount(Amount)
|
||||
{
|
||||
|
||||
amnt=Amount;
|
||||
if(Amount==1) return ;
|
||||
amnt = Amount;
|
||||
if (Amount == nil)
|
||||
{
|
||||
SetGraphics(nil,nil,MI_AMOUNTX_LAYER);
|
||||
SetGraphics(nil,nil,MI_AMOUNT1_LAYER);
|
||||
SetGraphics(nil,nil,MI_AMOUNT10_LAYER);
|
||||
SetGraphics(nil,nil,MI_AMOUNT100_LAYER);
|
||||
return;
|
||||
}
|
||||
var one = Amount%10;
|
||||
var ten = (Amount/10)%10;
|
||||
var hun = (Amount/100)%10;
|
||||
|
|
|
@ -102,14 +102,7 @@ public func AddItem(new_item, int amount, extra)
|
|||
menu_icons[index] = CreateObject(GUI_RingMenu_Icon,0,0,menu_object->GetOwner());
|
||||
menu_icons[index]->SetSymbol(new_item);
|
||||
menu_icons[index]->SetExtraData(extra);
|
||||
if(amount == nil)
|
||||
{
|
||||
menu_icons[index]->SetAmount(1);
|
||||
}
|
||||
else
|
||||
{
|
||||
menu_icons[index]->SetAmount(amount);
|
||||
}
|
||||
menu_icons[index]->SetAmount(amount);
|
||||
menu_icons[index].Visibility = VIS_None;
|
||||
return index;
|
||||
}
|
||||
|
|
|
@ -39,10 +39,10 @@ public func GetInteractionMetaInfo(object clonk)
|
|||
public func Interact(object clonk)
|
||||
{
|
||||
var menu;
|
||||
var i=0,item,player=clonk->GetOwner(), amount;
|
||||
while (item = GetHomebaseMaterial(player, nil, i++))
|
||||
var i = 0, item, amount;
|
||||
while (item = GetHomebaseMaterial(GetOwner(), nil, i++))
|
||||
{
|
||||
amount = GetHomebaseMaterial(player, item);
|
||||
amount = GetHomebaseMaterial(GetOwner(), item);
|
||||
// Add even if amount==0
|
||||
if (!menu) menu = clonk->CreateRingMenu(Flagpole, this);
|
||||
if (!menu) return false;
|
||||
|
@ -65,8 +65,11 @@ public func Selected(object menu, proplist menu_item, bool alt)
|
|||
// Excess objects exit flag (can't get them out...)
|
||||
var i = ContentsCount();
|
||||
var obj;
|
||||
while (i--) if (obj = Contents(i)) Contents(i)->Exit();
|
||||
while (i--)
|
||||
if (obj = Contents(i))
|
||||
Contents(i)->Exit(0, GetDefHeight() / 2);
|
||||
// Update available count
|
||||
menu_item->SetAmount(GetHomebaseMaterial(clonk->GetOwner(), def));
|
||||
menu_item->SetAmount(GetHomebaseMaterial(GetOwner(), def));
|
||||
menu->Show();
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue