/// <summary>Manually force the trigger to test if the target(s) is inside it</summary> public void TestTrigger() { var triggerPos = ProCamera2D.TargetsMidPoint; // Debug.LogError("trigger pos:" + triggerPos); if (!UseTargetsMidPoint && TriggerTarget != null) { triggerPos = TriggerTarget.position; } if (TriggerShape == TriggerShape.RECTANGLE && Utils.IsInsideRectangle( Vector3H(_transform.position), Vector3V(_transform.position), Vector3H(_transform.localScale), Vector3V(_transform.localScale), Vector3H(triggerPos), Vector3V(triggerPos))) { if (!_insideTrigger) { EnteredTrigger(); } } else if (TriggerShape == TriggerShape.CIRCLE && Utils.IsInsideCircle( Vector3H(_transform.position), Vector3V(_transform.position), (Vector3H(_transform.localScale) + Vector3V(_transform.localScale)) * .25f, Vector3H(triggerPos), Vector3V(triggerPos))) { if (!_insideTrigger) { EnteredTrigger(); } } else { if (_insideTrigger) { ExitedTrigger(); } } }
/// <summary> /// Returns what room the target currently is. Useful for when you set the AutomaticRoomActivation to false /// </summary> /// <returns>The current room</returns> /// <param name="targetPos">Target position</param> public int ComputeCurrentRoom(Vector3 targetPos) { int roomToEnter = -1; for (int i = 0; i < Rooms.Count; i++) { if (Utils.IsInsideRectangle( Rooms[i].Dimensions.x + (UseRelativePosition ? _transform.position.x : 0), Rooms[i].Dimensions.y + (UseRelativePosition ? _transform.position.y : 0), Rooms[i].Dimensions.width, Rooms[i].Dimensions.height, Vector3H(targetPos), Vector3V(targetPos))) { roomToEnter = i; } } return(roomToEnter); }
/// <summary> /// Returns what room the target currently is. Useful for when you set the AutomaticRoomActivation to false /// </summary> /// <returns>The current room</returns> /// <param name="targetPos">Target position</param> public int ComputeCurrentRoom(Vector3 targetPos) { int roomToEnter = -1; for (int i = 0; i < Rooms.Count; i++) { if (Utils.IsInsideRectangle( Rooms[i].Dimensions.x, Rooms[i].Dimensions.y, Rooms[i].Dimensions.width, Rooms[i].Dimensions.height, Vector3H(targetPos), Vector3V(targetPos))) { roomToEnter = i; } } return(roomToEnter); }