I have a problem that makes no sense to me but maybe someone here has experienced it before and can help me with it.
I have a set function within a class file. The function is a dataProvider function, I pass an array to this function from the main timeline. I then set the passed Array equal to a private class arrray. I then have a get function that processes this private class array and returns an array to the main timeline.
My problem is:
In the get function a call a function that generates a random number based on numbers pulled from the private class array. I trace this array and the values are there and correct.
The values are a min/max values and multplier for the random number generated. Random Function I am using is return number outside of this range, but I pass the RandRange Function hard coded the values it work like it should.
Below is my Class Code
class GetTreasure
{
private var _aItems:Array;
private var _aTreasure:Array;
private var _sTtype:String;
private var _aTypeArray:Array;
private var _Domars:Number;
private var _Junk:Number;
private var _Baubles:Number;
private var _Curiosities:Number;
private var _TechIII:Number;
private var _TechIV:Number;
private var _TechV:Number;
private var _TechVI:Number;
private var DomarMin:Number;
public function set dataProvider(xnTreasureType:Array):Void
{
_aItems = xnTreasureType;
}
public function get TreasureFound():Array{
var DomarMin = _aItems[1]; var DomarMax = _aItems[2];var DomarMult = _aItems[3];
var JunkMin = _aItems[4];var JunkMax = _aItems[5];var JunkMult = _aItems[6];
var BaublesMin = _aItems[7];var BaublesMax = _aItems[8];var BaublesMult = _aItems[9];
var CuriositiesMin = _aItems[10];var CuriositiesMax = _aItems[11];var CuriositiesMult = _aItems[12];
var TechIIIMin = _aItems[13];var TechIIIMax = _aItems[14];var TechIIIMult = _aItems[15];
var TechIVMin = _aItems[16];var TechIVMax = _aItems[17];var TechIVMult = _aItems[18];
var TechVMin = _aItems[19];var TechVMax = _aItems[20];var TechVMult = _aItems[21];
var TechVIMin = _aItems[22];var TechVIMax = _aItems[23];var TechVIMult = _aItems[24];
trace(_aItems);
if(chance() == true){_Domars =randRange(DomarMin,DomarMax)*DomarMult; }else {_Domars = 0;};
if(chance() == true){_Junk = randRange(JunkMin,JunkMax)*JunkMult;};
if(chance() == true){_Baubles = randRange(BaublesMin,BaublesMax)*BaublesMult;};
if(chance() == true){_Curiosities = randRange(CuriositiesMin,CuriositiesMax)*CuriositiesMult;};
if(chance() == true){_TechIII = randRange(TechIIIMin,TechIIIMax)*TechIIIMult;};
if(chance() == true){_TechIV = randRange(TechIVMin,TechIVMax)*TechIVMult;};
if(chance() == true){_TechV = randRange(TechVMin,TechVMax)*TechVMult;};
if(chance() == true){_TechVI = randRange(TechVIMin,TechVIMax)*TechVIMult;};
_aTreasure.length = 0;
_aTreasure.push(_Domars,_Junk,_Baubles,_Curiosities,_TechIII,_TechIV,_TechV,_TechVI);
_aItems.length = 0;
return _aTreasure;
}
private function chance(bSuccess:Boolean){
var percentage = randRange(1,100);
if(percentage <=75) {
return true; }else{
return false;
}
}
private function randRange(min:Number, max:Number):Number
{
var randomNum:Number = Math.round(Math.random()*(max-min))+min;
return randomNum;
}
function GetTreasure(){
_aItems= new Array;
_aTreasure = new Array;
_aTypeArray = new Array;
}
}
Thanks in advance for the help.
-Fred