Tension level functionality completed

This commit is contained in:
Luis Fernando Molina committed 2020-02-04 12:27:16 +01:00
1 parent 567fecbc9c
commit 052cf3e7c2
1 file changed
+20 -3
+20 -3
View File
@@ -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
}