PlayMaker Updates & Downloads > Share New Actions

Random Int "Fix" (inclusive switch added)

(1/1)

MaDDoX:
[Edited to reflect discussion below]
The Current (1.1) Playmaker's Random Int works just like Random Range is designed to do in C# - excluding the last element. Nevertheless, at least for integer variables this is not a "designer friendly" behavior and might get people wondering why one of the values in the range is never reached. You can read more about the "issue" here.

To install it, you can simply open/edit the original randomint.cs from playmaker/actions folder and paste the following code. To use the original 'Max Value Exclusive' behavior simply uncheck the 'Inclusive Max' checkbox.


--- Code: ---// (c) Copyright HutongGames, LLC 2010-2011. All rights reserved.
// 'inclusiveMax' option added by MaDDoX (@brenoazevedo)

using UnityEngine;

namespace HutongGames.PlayMaker.Actions
{
[ActionCategory(ActionCategory.Math)]
[Tooltip("Sets an Integer Variable to a random value between Min/Max.")]
public class RandomInt : FsmStateAction
{
[RequiredField]
public FsmInt min;
[RequiredField]
public FsmInt max;
[RequiredField]
[UIHint(UIHint.Variable)]
public FsmInt storeResult;
        [Tooltip("Should the Max value be included in the possible results?")]
        public bool inclusiveMax;

public override void Reset()
{
min = 0;
max = 100;
storeResult = null;
   inclusiveMax = true;
}

public override void OnEnter()
{
            storeResult.Value = (inclusiveMax) ?
                Random.Range(min.Value, max.Value + 1) :
                Random.Range(min.Value, max.Value);
   
            Finish();
}
}
}
--- End code ---

Alex Chouls:
Maybe this should be an option on the action (E.g., an Inclusive check box).

The original behavior is useful when the int is a zero based index. E.g., Random Int using Get Child Count and then Get Child Num. With the new behavior, you'd have to make sure to subtract 1 from the child count...

jeanfabre:
Hi,

 clear cut case of adding a check box to toggle this inclusive edit.

 Bye,

 Jean

MaDDoX:
You're both right (as usual heh). I'll get to it, I've just returned from easter break - marvelous trip along the Brazilian northern coast beaches, whenever you guys need a host around here talk to me I'll gladly be your guide :)

Navigation

[0] Message Index

Go to full version