Page 1 of 1

LuaRendering::setText / drawText dont use \n

Posted: Mon Apr 06, 2020 4:47 am
by LuziferSenpai
Hey,

I now tested ONLY a string and a localized string.

Both dont give back a 2 Line Text, but a 1 Line Text!

Code: Select all

function dsu:update_sticker()
    local rendering1 = self.rendering
   
    if not self.item then
        if rendering1 and rendering.is_valid( rendering1 ) then
            rendering.destroy( rendering1 )
            
            self.rendering = nil
        end

        return
    end

    if rendering1 and rendering.is_valid( rendering1 ) then
        rendering.set_text( rendering1, { "deep-storage-text", self.amount, self:get_active_drone_count(), self:get_drone_item_count() } )
        
        return
    end

    local entity = self.entity

    self.rendering = rendering.draw_text
    {
        surface = entity.surface.index,
        target = entity,
        text = { "deep-storage-text", self.amount, self:get_active_drone_count(), self:get_drone_item_count() },
        only_in_alt_mode = true,
        forces = { entity.force },
        color = { r = 1, g = 1, b = 1 },
        alignment = "center",
        scale = 1.5,
        target_offset = { 0, -0.5 }
    }
end

Code: Select all

deep-storage-text=__1__\n__2__/__3__
Or just as string:

Code: Select all

self.amount .. "\n" .. self:get:active:drone:count() .. "/" .. self:get_drone_item_count()
The Result:
factorio_R0ke0Er1hw.png
factorio_R0ke0Er1hw.png (254.66 KiB) Viewed 580 times
Greetz,

Luzifer

Re: LuaRendering::setText / drawText dont use \n

Posted: Mon Apr 06, 2020 6:20 am
by Bilka
Text render objects are intended to be single line.