Added node scaling, and a few utility functions
This commit is contained in:
@@ -1,9 +1,19 @@
|
||||
import node;
|
||||
|
||||
//utils
|
||||
//members
|
||||
var maxSteps: int = 0;
|
||||
var remainingSteps: int = 0;
|
||||
|
||||
//accessors
|
||||
fn getMaxSteps(node: opaque) {
|
||||
return maxSteps;
|
||||
}
|
||||
|
||||
fn getRemainingSteps(node: opaque) {
|
||||
return remainingSteps;
|
||||
}
|
||||
|
||||
//mutators
|
||||
fn setMaxSteps(node: opaque, steps: int) {
|
||||
maxSteps = steps;
|
||||
remainingSteps = steps;
|
||||
@@ -13,14 +23,7 @@ fn setRemainingSteps(node: opaque, steps: int) {
|
||||
remainingSteps = steps;
|
||||
}
|
||||
|
||||
fn getMaxSteps(node: opaque) {
|
||||
return maxSteps;
|
||||
}
|
||||
|
||||
fn getRemainingSteps(node: opaque) {
|
||||
return remainingSteps;
|
||||
}
|
||||
|
||||
//utility mutators
|
||||
fn alterRemainingSteps(node: opaque, increment: int) {
|
||||
remainingSteps += increment;
|
||||
if (remainingSteps > maxSteps) {
|
||||
@@ -47,21 +50,18 @@ fn onLoad(node: opaque) {
|
||||
|
||||
node
|
||||
.loadChild("scripts:/gameplay/text.toy")
|
||||
.setNodeText("fonts:/alphbeta.ttf", 32, "Water", 0, 60, 240, 255);
|
||||
.setNodeText("fonts:/alphbeta.ttf", 32, "Water", 0, 60, 240, 255); //rgba
|
||||
}
|
||||
|
||||
fn onFree(node: opaque) {
|
||||
node.freeNodeTexture();
|
||||
}
|
||||
|
||||
fn customOnDraw(node: opaque, x: int, y: int, w: int, h: int) {
|
||||
fn onDraw(node: opaque) {
|
||||
if (remainingSteps > 0 && maxSteps > 0) {
|
||||
var tmp = float remainingSteps / maxSteps * w;
|
||||
var tmp = float remainingSteps / maxSteps * node.getNodeRectW();
|
||||
var h = node.getNodeRectH();
|
||||
|
||||
node.drawNode(x, y, int tmp, h);
|
||||
|
||||
for (var i: int = 0; i < node.getChildNodeCount(); i++) {
|
||||
node.getChildNode(i).callNodeFn("customOnDraw", x, y);
|
||||
}
|
||||
node.drawNode(node.getNodePositionX(), node.getNodePositionY(), int tmp, h);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user