From 5d3867c3fd34eeddcc22e961da3297da73cd67f4 Mon Sep 17 00:00:00 2001 From: Drew Cavanaugh Date: Thu, 12 Mar 2026 18:11:07 -0500 Subject: [PATCH] Use FoCAPI GameObjectTypeWrapper Get_Display_Name() --- .luadefs/focapi-functions-emmyluadoc.lua | 12 ++++++++++++ .../Miscellaneous/GameManager/SkirmishGameClass.lua | 8 +++++--- Data/Scripts/Miscellaneous/GameManager/UnitClass.lua | 4 +++- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.luadefs/focapi-functions-emmyluadoc.lua b/.luadefs/focapi-functions-emmyluadoc.lua index 69d5edd..eb43bb5 100644 --- a/.luadefs/focapi-functions-emmyluadoc.lua +++ b/.luadefs/focapi-functions-emmyluadoc.lua @@ -39,3 +39,15 @@ function Add_Tutorial_Text(key, text, duration, r, g, b, a) end ---Removes the specified text key from the tutorial text box. ---@param key string The key to remove. function Remove_Tutorial_Text(key) end + +-- ================================================== +-- GameObjectType extensions +-- ================================================== + +---@class GameObjectType +---A generic GameObjectType that represents a C++ GameObjectTypeClass +local GameObjectType = {} +---@public +---Returns the display name for the object type. +---@return string +function GameObjectType.Get_Display_Name() end diff --git a/Data/Scripts/Miscellaneous/GameManager/SkirmishGameClass.lua b/Data/Scripts/Miscellaneous/GameManager/SkirmishGameClass.lua index e77f8b7..d2798df 100644 --- a/Data/Scripts/Miscellaneous/GameManager/SkirmishGameClass.lua +++ b/Data/Scripts/Miscellaneous/GameManager/SkirmishGameClass.lua @@ -60,7 +60,7 @@ function SkirmishGameClass:CombatTextUnitBuilt(unit) end local timeText = FormatTime(unit.BuildTime) - local text = string.format("%s\t [%s]: BUILT %s ($%d)", timeText, team.Number, owner.Name, unit.Name, + local text = string.format("%s\t [%s]: BUILT %s ($%d)", timeText, team.Number, owner.Name, unit.DisplayName, unit.BuildCost) local faction = Factions[owner.Faction] ---@type ColorStruct @@ -95,7 +95,8 @@ function SkirmishGameClass:CombatTextUnitKilled(unit) return end - local text = string.format("%s\t [%s]: MISTAKES WERE MADE %s", timeText, team.Number, owner.Name, unit.Name) + local text = string.format("%s\t [%s]: MISTAKES WERE MADE %s", timeText, team.Number, owner.Name, + unit.DisplayName) local color = ColorStruct:New(0.8, 0.8, 0.8, 1) self.CombatFeed:Append(text, -1, color) @@ -106,7 +107,8 @@ function SkirmishGameClass:CombatTextUnitKilled(unit) return end - local text = string.format("%s\t [%s]: KILLED %s (%s)", timeText, team.Number, killer.Name, unit.Name, + local text = string.format("%s\t [%s]: KILLED %s (%s)", timeText, team.Number, killer.Name, unit + .DisplayName, owner.Name) local faction = Factions[killer.Faction] ---@type ColorStruct diff --git a/Data/Scripts/Miscellaneous/GameManager/UnitClass.lua b/Data/Scripts/Miscellaneous/GameManager/UnitClass.lua index 77de944..3f3f318 100644 --- a/Data/Scripts/Miscellaneous/GameManager/UnitClass.lua +++ b/Data/Scripts/Miscellaneous/GameManager/UnitClass.lua @@ -2,6 +2,7 @@ require("PGBase") ---@class UnitClass ---@field Name string Unit name. +---@field DisplayName string The localized display name. ---@field OwnerId integer Owner Player ID. ---@field BuildCost integer Tactical build cost. ---@field CombatRating integer AI combat power rating. @@ -15,12 +16,13 @@ UnitClass = {} UnitClass.__index = UnitClass ---Constructs a new Unit object. ----@param objectType table FoC GameObjectTypeWrapper object +---@param objectType GameObjectType FoC GameObjectTypeWrapper object ---@param playerId integer The Owner Player ID function UnitClass:New(objectType, playerId) local self = setmetatable({}, UnitClass) self.Name = objectType.Get_Name() + self.DisplayName = objectType.Get_Display_Name() self.OwnerId = playerId self.BuildCost = objectType.Get_Tactical_Build_Cost() self.CombatRating = objectType.Get_Combat_Rating()