Playmaker Forum

PlayMaker Updates & Downloads => Share New Actions => Topic started by: Andre Khromov on June 13, 2011, 05:15:07 AM

Title: New ConvertFloatToString with decimal places
Post by: Andre Khromov on June 13, 2011, 05:15:07 AM
Just wanted to post a new version of ConvertFloatToString action with a decimal place cut off.

This code is directly from the Playmaker C# file with the truncation of the string at the end.

Enjoy

Code: [Select]
// (c) Copyright HutongGames, LLC 2010-2011. All rights reserved.

using UnityEngine;

namespace HutongGames.PlayMaker.Actions
{
[ActionCategory(ActionCategory.Convert)]
[Tooltip("Converts a Float value to a String value.")]
public class ConvertFloatToString : FsmStateAction
{
[RequiredField]
[UIHint(UIHint.Variable)]
public FsmFloat floatVariable;
[RequiredField]
[UIHint(UIHint.Variable)]
public FsmString stringVariable;
public FsmInt numberOfDecimalPlaces;
public bool everyFrame;

public override void Reset ()
{
floatVariable = null;
stringVariable = null;
numberOfDecimalPlaces = 2;
everyFrame = false;
}

public override void OnEnter()
{
DoConvertFloatToString();

if (!everyFrame)
Finish();
}

public override void OnUpdate()
{
DoConvertFloatToString();
}

void DoConvertFloatToString ()
{
numberOfDecimalPlaces.Value = (numberOfDecimalPlaces.Value < 0) ? 0 : numberOfDecimalPlaces.Value; // doesn't allow negative numbers
stringVariable.Value = floatVariable.Value.ToString ("F" + numberOfDecimalPlaces.Value);
}
}
}
Title: Re: New ConvertFloatToString with decimal places
Post by: Andre Khromov on June 13, 2011, 05:21:13 AM
Also, I apologize that this post was a poll, but I couldn't see any other way to post a new message. Someone please clue me in for next time.

Thanks,

Andre
Title: Re: New ConvertFloatToString with decimal places
Post by: MaDDoX on June 14, 2011, 12:45:35 AM
Nice. You can also check this action, to convert int to string using any format you want, you can adapt its code to, for instance, allow the end-user to define how many decimal places he wants for the float: http://hutonggames.com/playmakerforum/index.php?topic=267.0
Title: Re: New ConvertFloatToString with decimal places
Post by: Andre Khromov on June 14, 2011, 01:27:59 AM
Haha! I almost coded that! But it was late and I thought:

well... you know I could put in a format string text box, or I can cover what I want to do and probably 90% of the people like me.

So you totally did the right thing, and I cheesed out, but I thought I post it because hey... I saw someone post FloatSubtract when you can just use FloatAdd with a negative number :P