mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2026-08-23 19:45:29 +00:00
Update CTLD.lua
Removed quantity menu if there is only one set.
This commit is contained in:
@@ -5655,6 +5655,23 @@ function CTLD:_RefreshDropCratesMenu(Group, Unit)
|
|||||||
table.insert(self.CrateGroupList[Unit:GetName()],chunk)
|
table.insert(self.CrateGroupList[Unit:GetName()],chunk)
|
||||||
i=i+needed
|
i=i+needed
|
||||||
end
|
end
|
||||||
|
if sets==1 then
|
||||||
|
MENU_GROUP_COMMAND:New(Group,"Drop",parentMenu,function(selfArg,GroupArg,UnitArg,cNameArg,neededArg,qty)
|
||||||
|
local uName=UnitArg:GetName()
|
||||||
|
for k=1,qty do
|
||||||
|
local lst=selfArg.CrateGroupList and selfArg.CrateGroupList[uName]
|
||||||
|
if not lst then break end
|
||||||
|
local idx=nil
|
||||||
|
for j=1,#lst do
|
||||||
|
local ch=lst[j]
|
||||||
|
local first=ch and ch[1]
|
||||||
|
if first and (not first:WasDropped()) and first:GetName()==cNameArg and #ch>=neededArg then idx=j break end
|
||||||
|
end
|
||||||
|
if not idx then break end
|
||||||
|
selfArg:_UnloadSingleCrateSet(GroupArg,UnitArg,idx)
|
||||||
|
end
|
||||||
|
end,self,Group,Unit,cName,needed,1)
|
||||||
|
else
|
||||||
for q=1,sets do
|
for q=1,sets do
|
||||||
local qm=MENU_GROUP:New(Group,string.format("Drop %d Set%s",q,q>1 and "s" or ""),parentMenu)
|
local qm=MENU_GROUP:New(Group,string.format("Drop %d Set%s",q,q>1 and "s" or ""),parentMenu)
|
||||||
MENU_GROUP_COMMAND:New(Group,"Drop",qm,function(selfArg,GroupArg,UnitArg,cNameArg,neededArg,qty)
|
MENU_GROUP_COMMAND:New(Group,"Drop",qm,function(selfArg,GroupArg,UnitArg,cNameArg,neededArg,qty)
|
||||||
@@ -5673,6 +5690,7 @@ function CTLD:_RefreshDropCratesMenu(Group, Unit)
|
|||||||
end
|
end
|
||||||
end,self,Group,Unit,cName,needed,q)
|
end,self,Group,Unit,cName,needed,q)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
lineIndex=lineIndex+1
|
lineIndex=lineIndex+1
|
||||||
end
|
end
|
||||||
if i<=#list then
|
if i<=#list then
|
||||||
@@ -5715,6 +5733,41 @@ function CTLD:_RefreshDropCratesMenu(Group, Unit)
|
|||||||
table.insert(self.CrateGroupList[Unit:GetName()],chunk)
|
table.insert(self.CrateGroupList[Unit:GetName()],chunk)
|
||||||
i=i+needed
|
i=i+needed
|
||||||
end
|
end
|
||||||
|
if sets==1 then
|
||||||
|
MENU_GROUP_COMMAND:New(Group,"Drop",parentMenu,function(selfArg,GroupArg,UnitArg,cNameArg,neededArg,qty)
|
||||||
|
local uName=UnitArg:GetName()
|
||||||
|
for k=1,qty do
|
||||||
|
local lst=selfArg.CrateGroupList and selfArg.CrateGroupList[uName]
|
||||||
|
if not lst then break end
|
||||||
|
local idx=nil
|
||||||
|
for j=1,#lst do
|
||||||
|
local ch=lst[j]
|
||||||
|
local first=ch and ch[1]
|
||||||
|
if first and (not first:WasDropped()) and first:GetName()==cNameArg and #ch>=neededArg then idx=j break end
|
||||||
|
end
|
||||||
|
if not idx then break end
|
||||||
|
selfArg:_UnloadSingleCrateSet(GroupArg,UnitArg,idx)
|
||||||
|
end
|
||||||
|
end,self,Group,Unit,cName,needed,1)
|
||||||
|
if not ( self:IsUnitInAir(Unit) and self:IsFixedWing(Unit) ) then
|
||||||
|
MENU_GROUP_COMMAND:New(Group,"Drop and build",parentMenu,function(selfArg,GroupArg,UnitArg,cNameArg,neededArg,qty)
|
||||||
|
local uName=UnitArg:GetName()
|
||||||
|
for k=1,qty do
|
||||||
|
local lst=selfArg.CrateGroupList and selfArg.CrateGroupList[uName]
|
||||||
|
if not lst then break end
|
||||||
|
local idx=nil
|
||||||
|
for j=1,#lst do
|
||||||
|
local ch=lst[j]
|
||||||
|
local first=ch and ch[1]
|
||||||
|
if first and (not first:WasDropped()) and first:GetName()==cNameArg and #ch>=neededArg then idx=j break end
|
||||||
|
end
|
||||||
|
if not idx then break end
|
||||||
|
selfArg:_UnloadSingleCrateSet(GroupArg,UnitArg,idx)
|
||||||
|
end
|
||||||
|
selfArg:_BuildCrates(GroupArg,UnitArg)
|
||||||
|
end,self,Group,Unit,cName,needed,1)
|
||||||
|
end
|
||||||
|
else
|
||||||
for q=1,sets do
|
for q=1,sets do
|
||||||
local qm=MENU_GROUP:New(Group,string.format("Drop %d Set%s",q,q>1 and "s" or ""),parentMenu)
|
local qm=MENU_GROUP:New(Group,string.format("Drop %d Set%s",q,q>1 and "s" or ""),parentMenu)
|
||||||
MENU_GROUP_COMMAND:New(Group,"Drop",qm,function(selfArg,GroupArg,UnitArg,cNameArg,neededArg,qty)
|
MENU_GROUP_COMMAND:New(Group,"Drop",qm,function(selfArg,GroupArg,UnitArg,cNameArg,neededArg,qty)
|
||||||
@@ -5751,6 +5804,7 @@ function CTLD:_RefreshDropCratesMenu(Group, Unit)
|
|||||||
end,self,Group,Unit,cName,needed,q)
|
end,self,Group,Unit,cName,needed,q)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
lineIndex=lineIndex+1
|
lineIndex=lineIndex+1
|
||||||
end
|
end
|
||||||
if i<=#list then
|
if i<=#list then
|
||||||
|
|||||||
Reference in New Issue
Block a user