Skip to content

Commit

Permalink
Add Yeesha/Relto Page Modifier
Browse files Browse the repository at this point in the history
* Properties and UI for a simple modifier for xYeeshaPages.py
  • Loading branch information
DoobesURU committed Oct 18, 2022
1 parent 50a9b1a commit c91abff
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 0 deletions.
57 changes: 57 additions & 0 deletions korman/properties/modifiers/logic.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,3 +117,60 @@ def export(self, exporter, bo, so):
@property
def requires_actor(self):
return True


yeeshapage_pfms = {
"filename": "xYeeshaPages.py",
"attribs": (
{ 'id': 1, 'type': "ptAttribActivator", 'name': "actClickableBook" },
{ 'id': 2, 'type': "ptAttribInt", 'name': "PageNumbers" },
)
}


class PlasmaYeeshaPage(PlasmaModifierProperties, PlasmaModifierLogicWiz):
pl_id="yeeshapage"

bl_category = "Logic"
bl_label = "Yeesha Page"
bl_description = "Set up clickable mesh for a Yeesha/Relto page."
bl_icon = "NEW"

page_object = PointerProperty(name="Clickable",
description="Object to click for page GUI.",
type=bpy.types.Object,
poll=idprops.poll_mesh_objects)

page_region = PointerProperty(name="Click Region",
description="Activation region.",
type=bpy.types.Object,
poll=idprops.poll_mesh_objects)

page_number = IntProperty(name="Page Number",
description="Page number in xYeeshaPages.py script and YeeshaPageGUI.prp",
min=1, default=1,
options=set())

def logicwiz(self, bo, tree):
nodes = tree.nodes

yeeshapage_pfm = yeeshapage_pfms
yeeshapagenode = self._create_python_file_node(tree, yeeshapage_pfm["filename"], yeeshapage_pfm["attribs"])
self._create_clothing_nodes(bo, tree.nodes, yeeshapagenode)

def _create_clothing_nodes(self, page_object, nodes, yeeshapagenode):
# Clickable
yeeshapageclick = nodes.new("PlasmaClickableNode")
yeeshapageclick.value = self.page_object
yeeshapageclick.allow_simple = False
yeeshapageclick.link_output(yeeshapagenode, "satisfies", "actClickableBook")

# Region
yeeshapageregion = nodes.new("PlasmaClickableRegionNode")
yeeshapageregion.region_object = self.page_region
yeeshapageregion.link_output(yeeshapageclick, "satisfies", "region")

# Page Number
yeeshapagenum = nodes.new("PlasmaAttribIntNode")
yeeshapagenum.value_int = self.page_number
yeeshapagenum.link_output(yeeshapagenode, "pfm", "PageNumbers")
6 changes: 6 additions & 0 deletions korman/ui/modifiers/logic.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,9 @@ def spawnpoint(modifier, layout, context):
def maintainersmarker(modifier, layout, context):
layout.label(text="Positive Y is North, positive Z is up.")
layout.prop(modifier, "calibration")

def yeeshapage(modifier, layout, context):
layout.prop(modifier, "page_object")
layout.prop(modifier, "page_region")
layout.prop(modifier, "page_number")

0 comments on commit c91abff

Please sign in to comment.