# Logic

It is an operation that has a function to read a message and notify the result of various calculations as a message.

## What is logic

Logic is an operation that has the function of reading a message and notifying the result of various calculations as a message.

### Setting items common to logic

The setting items of each logic component are as follows.

1. Target and identifier of the signal that is the starting point for starting the calculation
2. One step of calculation (executed in order from the top)
1. Target, identifier, and type to notify the calculated result as a message (If Signal is selected as the message type, the message will be notified when the calculation result is true).
2. Applicable operators and functions
3. Argument 1
4. Argument 2 (The number of arguments depends on the function applied)

#### List of operators and functions that can be set in logic

Operator / functionfunction
=Returns the value of the argument as is.
NotReturns false if the value is true. Otherwise, it returns true.
MinusReturns the value with the positive and negative values reversed.
AddReturns the sum of two values.
MultiplyReturns the product of two values.
SubtractReturns the result of subtracting the value of argument 2 from the value of argument 1.
DivideReturns the result of dividing the value of argument 1 from the value of argument 2.
ModuloReturns the remainder after dividing the value of argument 1 from the value of argument 2.
EqualsReturns true if the two values are equal. Otherwise, it returns false. The Float type returns true if the two values are in the small range of each other.
NotEqualsReturns false if the two values are equal. Otherwise, it returns true. The Float type returns false if the two values are in the small range of each other.
GreaterThanReturns true if the value of argument 1 is greater than the value of argument 2. Otherwise, it returns false.
GreaterThanOrEqualReturns true if the value of argument 1 is greater than or equal to the value of argument 2. Otherwise, it returns false.
LessThanReturns true if the value of argument 1 is less than the value of argument 2. Otherwise, it returns false.
LessThanOrEqualReturns true if the value of argument 1 is less than or equal to the value of argument 2. Otherwise, it returns false.
AndReturns true if both of the two values are true. Otherwise, it returns false.
OrReturns true if either of the two values is true. Otherwise, it returns false.
ConditionIf the value of argument 1 is true, the value of argument 2 is returned. Otherwise, it returns the value of argument 3.
MinReturns the smaller of the two values.
MaxReturns the larger of the two values.
ClampReturns argument 1 in the range of argument 2 or more and argument 3 or less.
LengthReturns the length of the argument vector.
SqrtReturns the square root of the argument.
DotReturns the dot product of two vectors.
CrossReturns the cross product of two 3D vectors.
RotateIf argument 1 is a number, it returns the value of the 2D vector of argument 2 rotated counterclockwise at the angle (degrees) of argument 1. If argument 1 is Vector3, then argument 1 returns the value obtained by applying the rotation shown as Euler angles (degrees) to the 3D vector of argument 2.

#### Types of arguments that can be set in logic

Argument typefunction
ConstantSet when using a constant and specify the type and value.
RoomStateSet when reading and using the message, and specify the type, target, and identifier. If you use the Double type, you can read all the value types in common.

For details on message types and values, see Trigger common settings.

1. Replace with the steps above
2. Delete step
3. Replace with the steps below