Please explain this code to me coz I’m a little bit confuse.
index = (index +1)% prefabs.Length
what’s the use of the percentage sign in the code
Please explain this code to me coz I’m a little bit confuse.
index = (index +1)% prefabs.Length
what’s the use of the percentage sign in the code
You can look up any C# syntax using Google, but I’ll give you a quick overview.
% is the modulus operator. It returns the remainder after division. For example, 5 / 3 is 1 with a remainder of 2. The modulus operator will return 2.
A useful feature is that you can create a rolling counter that automatically wraps back around to 0. This is what’s being done in your example. Let’s say that prefabs.Length is 3 and index starts out at 0. This is what several iterations through your code example would give you.
index = (0 + 1) % 3 = 1 % 3 = 1 // 1 divided by 3 is 0 with a remainder of 1 so index is now 1
index = (1 + 1) % 3 = 2 % 3 = 2 // 2 divided by 3 is 0 with a remainder of 2 so index is now 2
index = (2 + 1) % 3 = 3 % 3 = 0 // 3 divided by 3 is 1 with a remainder of 0 so index is now 0.
If you continue executing that code then index will progress from 0 to 2 and then back to 0 over and over. You don’t have to code any if statements to change index back to 0 or anything, just keep adding and taking the remainder.
The % sign is the modulo operator, see Docs. Basically it calculates the remainder after division.