Merge pull request 'main' (#103) from Onek8/LNXSDK:main into main

Reviewed-on: LeenkxTeam/LNXSDK#103
This commit is contained in:
2025-08-14 21:29:54 +00:00
7 changed files with 26 additions and 26 deletions

View File

@ -54,6 +54,22 @@ class App {
if (Scene.active == null || !Scene.active.ready) return;
iron.system.Time.update();
if (lastw == -1) {
lastw = App.w();
lasth = App.h();
}
if (lastw != App.w() || lasth != App.h()) {
if (onResize != null) onResize();
else {
if (Scene.active != null && Scene.active.camera != null) {
Scene.active.camera.buildProjection();
}
}
}
lastw = App.w();
lasth = App.h();
if (pauseUpdates) return;
#if lnx_debug
@ -98,22 +114,6 @@ class App {
for (cb in endFrameCallbacks) cb();
updateTime = kha.Scheduler.realTime() - startTime;
#end
// Rebuild projection on window resize
if (lastw == -1) {
lastw = App.w();
lasth = App.h();
}
if (lastw != App.w() || lasth != App.h()) {
if (onResize != null) onResize();
else {
if (Scene.active != null && Scene.active.camera != null) {
Scene.active.camera.buildProjection();
}
}
}
lastw = App.w();
lasth = App.h();
}
static function render(frames: Array<kha.Framebuffer>) {

View File

@ -887,7 +887,7 @@ class Scene {
var ptype: String = t.props[i * 3 + 1];
var pval: Dynamic = t.props[i * 3 + 2];
if (StringTools.endsWith(ptype, "Object") && pval != "") {
if (StringTools.endsWith(ptype, "Object") && pval != "" && pval != null) {
Reflect.setProperty(traitInst, pname, Scene.active.getChild(pval));
} else if (ptype == "TSceneFormat" && pval != "") {
Data.getSceneRaw(pval, function (r: TSceneFormat) {

View File

@ -62,7 +62,7 @@ class DrawStringNode extends LogicNode {
override function get(from: Int): Dynamic {
return from == 1 ? RenderToTexture.g.font.height(RenderToTexture.g.fontSize) : RenderToTexture.g.font.width(RenderToTexture.g.fontSize, string);
return from == 1 ? RenderToTexture.g.font.width(RenderToTexture.g.fontSize, string) : RenderToTexture.g.font.height(RenderToTexture.g.fontSize);
}
}

View File

@ -281,7 +281,7 @@ class DebugConsole extends Trait {
function drawObjectNameInList(object: iron.object.Object, selected: Bool) {
var _y = ui._y;
if (object.parent.name == 'Root')
if (object.parent.name == 'Root' && object.raw == null)
ui.text(object.uid+'_'+object.name+' ('+iron.Scene.active.raw.world_ref+')');
else
ui.text(object.uid+'_'+object.name);

View File

@ -71,7 +71,7 @@ class DrawTextAreaStringNode(LnxLogicTreeNode):
layout.prop(self, 'property2')
def get_replacement_node(self, node_tree: bpy.types.NodeTree):
if self.lnx_version not in (0, 2):
if self.lnx_version not in (0, 1, 2):
raise LookupError()
return NodeReplacement.Identity(self)

View File

@ -17,15 +17,15 @@ class DrawStringNode(LnxLogicTreeNode):
at the anchor point.
@output Out: Activated after the string has been drawn.
@output Height: String Height.
@output Width: String Width.
@output Height: String Height.
@see [`kha.graphics2.Graphics.drawString()`](http://kha.tech/api/kha/graphics2/Graphics.html#drawString).
"""
bl_idname = 'LNDrawStringNode'
bl_label = 'Draw String'
lnx_section = 'draw'
lnx_version = 2
lnx_version = 3
def lnx_init(self, context):
self.add_input('LnxNodeSocketAction', 'Draw')
@ -38,11 +38,11 @@ class DrawStringNode(LnxLogicTreeNode):
self.add_input('LnxFloatSocket', 'Angle')
self.add_output('LnxNodeSocketAction', 'Out')
self.add_output('LnxFloatSocket', 'Height')
self.add_output('LnxFloatSocket', 'Width')
self.add_output('LnxFloatSocket', 'Height')
def get_replacement_node(self, node_tree: bpy.types.NodeTree):
if self.lnx_version not in (0, 1):
if self.lnx_version not in (0, 1, 2):
raise LookupError()
return NodeReplacement.Identity(self)