⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ico_customicons.lua

📁 这是整套横扫千军3D版游戏的源码
💻 LUA
字号:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------  file:    ico_customicons.lua--  brief:   controls the custom icons (see usericons.tdf)--  author:  Dave Rodgers----  Copyright (C) 2007.--  Licensed under the terms of the GNU GPL, v2 or later.------------------------------------------------------------------------------------------------------------------------------------------------------------------function widget:GetInfo()  return {    name      = "CustomIcons",    desc      = "Controls the custom icons defined in usericons.tdf",    author    = "trepan",    date      = "Jan 8, 2007",    license   = "GNU GPL, v2 or later",    layer     = 0,    enabled   = false  --  loaded by default?  }end----------------------------------------------------------------------------------------------------------------------------------------------------------------local commanderUnitDefs = {}--------------------------------------------------------------------------------function widget:Update(deltaTime)  -- animated Commander(s) icon  if (commanderUnitDefs) then    local timer = widgetHandler:GetHourTimer()    local iconName    if (math.mod(timer, 0.5) > 0.25) then      iconName = "star.user"    else      iconName = "star-dark.user"    end    for _,udid in ipairs(commanderUnitDefs) do      Spring.SetUnitDefIcon(udid, iconName)    end  endendfunction widget:Shutdown()  -- revert our changes  for udid,ud in pairs(UnitDefs) do    if ((ud ~= nil) and (ud.origIconType ~= nil)) then      Spring.SetUnitDefIcon(udid, ud.origIconType)    end  endend--------------------------------------------------------------------------------function widget:Initialize()  -- Setup the unitdef icons  for udid,ud in pairs(UnitDefs) do    if (ud ~= nil) then      if (ud.origIconType == nil) then        ud.origIconType = ud.iconType      end      ud.weaponCount = #ud.weapons      if (ud.isCommander) then        -- commanders        table.insert(commanderUnitDefs, udid) -- save for animation        Spring.SetUnitDefIcon(udid, "star.user")      elseif (ud.isFactory) then        -- factories        Spring.SetUnitDefIcon(udid, "square_x.user")      elseif (ud.isBuilder) then        -- builders        if ((ud.speed > 0) and ud.canMove) then          Spring.SetUnitDefIcon(udid, "cross.user")     -- mobile        else          Spring.SetUnitDefIcon(udid, "square_+.user")  -- immobile        end      elseif (ud.canFly) then        -- aircraft        Spring.SetUnitDefIcon(udid, "tri-up.user")      elseif ((ud.speed <= 0) and ud.hasShield) then        -- immobile shields        Spring.SetUnitDefIcon(udid, "hemi-up.user")      elseif ((ud.extractsMetal > 0) or (ud.makesMetal > 0)) then        -- metal extractors and makers        Spring.SetUnitDefIcon(udid, "m.user")      elseif ((ud.totalEnergyOut > 10) and (ud.speed <= 0)) then        -- energy generators        Spring.SetUnitDefIcon(udid, "e.user")      elseif (ud.isTransport) then        -- transports        Spring.SetUnitDefIcon(udid, "diamond.user")      elseif ((ud.minWaterDepth > 0) and (ud.speed > 0) and (ud.waterline > 10)) then        -- submarines        Spring.SetUnitDefIcon(udid, "tri-down.user")      elseif ((ud.minWaterDepth > 0) and (ud.speed > 0)) then        -- ships        Spring.SetUnitDefIcon(udid, "hemi-down.user")      elseif (((ud.radarRadius > 1) or               (ud.sonarRadius > 1) or               (ud.seismicRadius > 1)) and (ud.speed <= 0)) then        -- sensors        Spring.SetUnitDefIcon(udid, "hourglass-side.user")      elseif (((ud.jammerRadius > 1) or               (ud.sonarJamRadius > 1)) and (ud.speed <= 0)) then        -- jammers        Spring.SetUnitDefIcon(udid, "hourglass.user")      elseif (ud.isBuilding or (ud.speed <= 0)) then        -- defenders and other buildings        if (ud.weaponCount <= 0) then          Spring.SetUnitDefIcon(udid, "square.user")        else           Spring.SetUnitDefIcon(udid, "x.user")        end      else        -- FIXME: allow unknowns to use mod icons?        Spring.SetUnitDefIcon(udid, "default")      end    end  endend--------------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -