void Update() { Camera playerCam = SuperspectiveScreen.instance.playerCamera; Angle.Quadrant prevQuadrant = playerQuadrant; playerQuadrant = GetQuadrant(playerCam.transform.position); if (prevQuadrant == Angle.Quadrant.I && playerQuadrant == Angle.Quadrant.IV) { ShiftDimensionUp(); } else if (prevQuadrant == Angle.Quadrant.IV && playerQuadrant == Angle.Quadrant.I) { ShiftDimensionDown(); } else if (prevQuadrant != playerQuadrant) { debug.Log($"Prev Quadrant: {prevQuadrant}\nNew Quadrant: {playerQuadrant}"); } }
// Updates on/off positions for this object, then // Updates baseDimension if this object passed the dimensionShift angle, then // Updates state based on current cameraAngleRelativeToPillar void HandleThisObjectMoving() { Angle prevAvgAngleOfObject = centralAngle; Angle.Quadrant prevQuadrantOfObject = prevAvgAngleOfObject.quadrant; RecalculateOnOffPositions(); Angle avgAngleOfObject = centralAngle; Angle.Quadrant quadrantOfObject = avgAngleOfObject.quadrant; //debug.Log(prevAvgAngleOfObject + ", " + avgAngleOfObject);// + "\nOn: " + onAngle + ", Off: " + offAngle); if (prevQuadrantOfObject != quadrantOfObject) { debug.Log("Prev Quadrant: " + prevQuadrantOfObject + ", Next Quadrant: " + quadrantOfObject); } bool clockwise = Angle.IsClockwise(prevAvgAngleOfObject, avgAngleOfObject); if (prevAvgAngleOfObject != avgAngleOfObject) { if (clockwise && prevQuadrantOfObject == Angle.Quadrant.IV && quadrantOfObject == Angle.Quadrant.I) { // Bump baseDimension up debug.Log("Bumping baseDimension up"); SetBaseDimension((baseDimension + 1) % (DimensionPillar.activePillar.maxDimension + 1)); } else if (!clockwise && prevQuadrantOfObject == Angle.Quadrant.I && quadrantOfObject == Angle.Quadrant.IV) { // Bump baseDimension down debug.Log("Bumping baseDimension down"); SetBaseDimension((baseDimension == 0) ? DimensionPillar.activePillar.maxDimension : baseDimension - 1); } VisibilityState nextState = DetermineState(DimensionPillar.activePillar.curDimension, DimensionPillar.activePillar.cameraAngleRelativeToPillar, forceCalculations: true); if (nextState != visibilityState) { SwitchVisibilityState(nextState); } } }