Merge pull request #1850 from knowledgenude/master
Canvas Get Visible , Get Mouse Lock and Get Mouse Visible
This commit is contained in:
commit
a96870750a
29
Sources/armory/logicnode/CanvasGetVisibleNode.hx
Normal file
29
Sources/armory/logicnode/CanvasGetVisibleNode.hx
Normal file
|
@ -0,0 +1,29 @@
|
|||
package armory.logicnode;
|
||||
|
||||
import iron.Scene;
|
||||
import armory.trait.internal.CanvasScript;
|
||||
|
||||
class CanvasGetVisibleNode extends LogicNode {
|
||||
|
||||
var canvas: CanvasScript;
|
||||
|
||||
public function new(tree: LogicTree) {
|
||||
super(tree);
|
||||
}
|
||||
|
||||
#if arm_ui
|
||||
override function get(from: Int): Dynamic { // Null<Bool>
|
||||
var element: String = inputs[0].get();
|
||||
if (canvas == null) canvas = Scene.active.getTrait(CanvasScript);
|
||||
if (canvas == null) canvas = Scene.active.camera.getTrait(CanvasScript);
|
||||
if (canvas == null || !canvas.ready) return null;
|
||||
|
||||
// This Try/Catch hacks around an issue where the handles are
|
||||
// not created yet, even though canvas.ready is true.
|
||||
try {
|
||||
return canvas.getElement(element).visible;
|
||||
}
|
||||
catch (e: Dynamic) { return null; }
|
||||
}
|
||||
#end
|
||||
}
|
16
Sources/armory/logicnode/GetMouseLockNode.hx
Normal file
16
Sources/armory/logicnode/GetMouseLockNode.hx
Normal file
|
@ -0,0 +1,16 @@
|
|||
package armory.logicnode;
|
||||
|
||||
import iron.system.Input;
|
||||
|
||||
class GetMouseLockNode extends LogicNode {
|
||||
|
||||
public function new(tree: LogicTree) {
|
||||
super(tree);
|
||||
}
|
||||
|
||||
override function get(from: Int): Dynamic {
|
||||
var mouse = iron.system.Input.getMouse();
|
||||
|
||||
return mouse.locked;
|
||||
}
|
||||
}
|
17
Sources/armory/logicnode/GetMouseVisibleNode.hx
Normal file
17
Sources/armory/logicnode/GetMouseVisibleNode.hx
Normal file
|
@ -0,0 +1,17 @@
|
|||
package armory.logicnode;
|
||||
|
||||
import iron.system.Input;
|
||||
|
||||
class GetMouseVisibleNode extends LogicNode {
|
||||
|
||||
public function new(tree: LogicTree) {
|
||||
super(tree);
|
||||
}
|
||||
|
||||
override function get(from: Int): Dynamic {
|
||||
var mouse = iron.system.Input.getMouse();
|
||||
|
||||
if (mouse.hidden == false) return true;
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -12,7 +12,7 @@ class SetVisibleNode(Node, ArmLogicTreeNode):
|
|||
def init(self, context):
|
||||
self.inputs.new('ArmNodeSocketAction', 'In')
|
||||
self.inputs.new('ArmNodeSocketObject', 'Object')
|
||||
self.inputs.new('NodeSocketBool', 'Bool')
|
||||
self.inputs.new('NodeSocketBool', 'Visible')
|
||||
self.outputs.new('ArmNodeSocketAction', 'Out')
|
||||
|
||||
add_node(SetVisibleNode, category='Action')
|
||||
|
|
16
blender/arm/logicnode/canvas_get_visible.py
Normal file
16
blender/arm/logicnode/canvas_get_visible.py
Normal file
|
@ -0,0 +1,16 @@
|
|||
import bpy
|
||||
from bpy.props import *
|
||||
from bpy.types import Node, NodeSocket
|
||||
from arm.logicnode.arm_nodes import *
|
||||
|
||||
class CanvasGetVisibleNode(Node, ArmLogicTreeNode):
|
||||
'''Canvas Get Visible node'''
|
||||
bl_idname = 'LNCanvasGetVisibleNode'
|
||||
bl_label = 'Canvas Get Visible'
|
||||
bl_icon = 'NONE'
|
||||
|
||||
def init(self, context):
|
||||
self.inputs.new('NodeSocketString', 'Element')
|
||||
self.outputs.new('NodeSocketBool', 'Visible')
|
||||
|
||||
add_node(CanvasGetVisibleNode, category='Canvas')
|
15
blender/arm/logicnode/value_get_mouse_lock.py
Normal file
15
blender/arm/logicnode/value_get_mouse_lock.py
Normal file
|
@ -0,0 +1,15 @@
|
|||
import bpy
|
||||
from bpy.props import *
|
||||
from bpy.types import Node, NodeSocket
|
||||
from arm.logicnode.arm_nodes import *
|
||||
|
||||
class GetMouseLockNode(Node, ArmLogicTreeNode):
|
||||
'''Get Mouse Lock node'''
|
||||
bl_idname = 'LNGetMouseLockNode'
|
||||
bl_label = 'Get Mouse Lock'
|
||||
bl_icon = 'NONE'
|
||||
|
||||
def init(self, context):
|
||||
self.outputs.new('NodeSocketBool', 'Lock')
|
||||
|
||||
add_node(GetMouseLockNode, category='Value')
|
15
blender/arm/logicnode/value_get_mouse_visible.py
Normal file
15
blender/arm/logicnode/value_get_mouse_visible.py
Normal file
|
@ -0,0 +1,15 @@
|
|||
import bpy
|
||||
from bpy.props import *
|
||||
from bpy.types import Node, NodeSocket
|
||||
from arm.logicnode.arm_nodes import *
|
||||
|
||||
class GetMouseVisibleNode(Node, ArmLogicTreeNode):
|
||||
'''Get Mouse Visible node'''
|
||||
bl_idname = 'LNGetMouseVisibleNode'
|
||||
bl_label = 'Get Mouse Visible'
|
||||
bl_icon = 'NONE'
|
||||
|
||||
def init(self, context):
|
||||
self.outputs.new('NodeSocketBool', 'Visible')
|
||||
|
||||
add_node(GetMouseVisibleNode, category='Value')
|
Loading…
Reference in a new issue