Tension level functionality completed
This commit is contained in:
1 parent
567fecbc9c
commit
052cf3e7c2
1 file changed
+20
-3
@@ -223,7 +223,7 @@ function newFloatingObject () {
|
||||
function tensionPhysics () {
|
||||
/* Tension Effect */
|
||||
|
||||
if (thisObject.tensionLevel !== TENSION_LEVEL.NO_TENSION) {
|
||||
if (thisObject.tensionLevel !== TENSION_LEVEL.NO_TENSION && thisObject.isOnFocus !== true) {
|
||||
let parent = thisObject.payload.chainParent
|
||||
if (parent === undefined) { return }
|
||||
if (parent.payload === undefined) { return }
|
||||
@@ -234,6 +234,22 @@ function newFloatingObject () {
|
||||
let axisCount = parentChildren.childrenCount
|
||||
let axisIndex = parentChildren.childIndex
|
||||
let baseAngle = 0
|
||||
let tensionLevelAngle
|
||||
|
||||
switch (thisObject.tensionLevel) {
|
||||
case TENSION_LEVEL.LEVEL_360:
|
||||
tensionLevelAngle = 360
|
||||
break
|
||||
case TENSION_LEVEL.LEVEL_180:
|
||||
tensionLevelAngle = 180
|
||||
break
|
||||
case TENSION_LEVEL.LEVEL_90:
|
||||
tensionLevelAngle = 90
|
||||
break
|
||||
case TENSION_LEVEL.LEVEL_45:
|
||||
tensionLevelAngle = 45
|
||||
break
|
||||
}
|
||||
|
||||
if (axisIndex === undefined) {
|
||||
axisCount = 1
|
||||
@@ -253,9 +269,10 @@ function newFloatingObject () {
|
||||
}
|
||||
}
|
||||
|
||||
let angleStep = 360 / axisCount
|
||||
let separatorAngle = (360 - tensionLevelAngle) / 2
|
||||
let angleStep = tensionLevelAngle / axisCount
|
||||
|
||||
thisObject.payload.angle = baseAngle + (axisIndex - 1) * angleStep
|
||||
thisObject.payload.angle = baseAngle + separatorAngle + (axisIndex - 1) * angleStep
|
||||
if (thisObject.payload.angle >= 360) {
|
||||
thisObject.payload.angle = thisObject.payload.angle - 360
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user