local function CreditsText( pn ) function update(self) local str = ScreenSystemLayerHelpers.GetCreditsMessage(pn); self:settext(str); end function UpdateVisible(self) local screen = SCREENMAN:GetTopScreen(); local bShow = true; if screen then local sClass = screen:GetName(); bShow = THEME:GetMetric( sClass, "ShowCreditDisplay" ); end self:visible( bShow ); end local text = LoadFont(Var "LoadingScreen","credits") .. { InitCommand=function(self) self:name("Credits" .. PlayerNumberToString(pn)) ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); end; UpdateTextCommand=function(self) local str = ScreenSystemLayerHelpers.GetCreditsMessage(pn); self:settext(str); end; UpdateVisibleCommand=function(self) local screen = SCREENMAN:GetTopScreen(); local bShow = true; if screen then local sClass = screen:GetName(); bShow = THEME:GetMetric( sClass, "ShowCreditDisplay" ); end self:visible( bShow ); end; --[[ RefreshCreditTextMessageCommand=update; CoinInsertedMessageCommand=update; PlayerJoinedMessageCommand=update; ScreenChangedMessageCommand=UpdateVisible; --]] }; return text; end local t = Def.ActorFrame { CreditsText( PLAYER_1 ); CreditsText( PLAYER_2 ); }; return t;