BulletMLLib.BulletMLTree.GetNumValue C# (CSharp) Method

GetNumValue() private method

private GetNumValue ( BulletValue v, BulletMLTask task ) : float
v BulletValue
task BulletMLTask
return float
        private float GetNumValue(BulletValue v, BulletMLTask task)
        {
            if (v.valueType == BLValueType.Number)
            {
                return v.value;
            }
            else if (v.valueType == BLValueType.Rand)
            {
                return (float)BulletMLManager.GetRandom();
            }
            else if (v.valueType == BLValueType.Rank)
            {
                return BulletMLManager.GetRank();
            }
            else if (v.valueType == BLValueType.Param)
            {
                BulletMLTask ownerTask = task;
                while (ownerTask.paramList.Count == 0)
                    ownerTask = ownerTask.owner;
                float val = ownerTask.paramList[(int)v.value - 1];

                //BulletMLTask ownerTask = task;
                //while (ownerTask.paramNode == null)
                //    ownerTask = ownerTask.owner;
                //float val = ownerTask.paramNode.children[(int)v.value - 1].GetValue(ownerTask.owner);

                //Debug.WriteLine(String.Format( "{2} param{0} = {1}", (int)v.value - 1, val, ownerTask));
                return val;
            }
            else
            {
                //Debug.WriteLine("不正な値がパラメータになっています");
                return 0;
            }
        }