Tue Feb 01, 2022 7:44 am
class ExampleClass : Actor
{
int internalTick;
override void Tick()
{
Super.Tick();
internalTick += 1;
if (internalTick >= 35)
{
internalTick = 0;
EachSecond();
}
}
void EachSecond()
{
Array<int> intArray = {0, 1, 2, 3};
ArrayShuffler aShuffler = new("ArrayShuffler");
aShuffler.intArray.Copy(intArray);
aShuffler.ShuffleInt();
intArray.Copy(aShuffler.intArray);
}
}
class ArrayShuffler
{
// WHAT IS MY PURPOSE?
// YOU SHUFFLE ARRAYS.
// OH MY GOD.
Array<int> intArray;
void ShuffleInt()
{
if (intArray.Size() > 1)
{
for (int i = 0; i < intArray.Size(); i++)
{
int rID = random(i, intArray.Size() - 1);
int rOrg = intArray[i];
intArray[i] = intArray[rID];
intArray[rID] = rOrg;
}
}
}
}
Tue Feb 01, 2022 8:00 am
class ExampleClass : Actor
{
int internalTick;
ArrayShuffler aShuffler;
void EachSecond()
{
...
if (aShuffler == NULL) aShuffler = new("ArrayShuffler");
...
}
void Move(array<T> other)
Moves all of the elements of other into this array, emptying the original array completely.
Tue Feb 01, 2022 8:23 am
Thu Feb 03, 2022 10:44 pm
if (level.time % 35 == 0){EachSecond();}
level.time
is the count of ticks since you started playing this hub, so modulus it by 35 will break it down by seconds.
Tue Feb 08, 2022 1:09 pm
if (!actPlayer.paused)
{
internal.tick += 1;
if (internal.tick >= 35) { EachSecond() };
}