Hi,
a little foggy on passing variables to the Constructor from a Singleton instance. Could someone enlighten?
From timeline:
var c:Calculator = Calculator.getInstance(5,20,30);
Need to pass these to the constructor…
//
var priceCD:Number = 320;
var priceShocks:Number = 150;
var priceCover:Number = 125;
//
This class in its current state…
class Calculator {
private var target:MovieClip;
//
private var _priceCD:Number;
private var _priceShocks:Number;
private var _priceCover:Number;
//
private var qty_arr:Array;
private var qty1_txt:TextField;
private var qty2_txt:TextField;
private var qty3_txt:TextField;
//
private var price_arr:Array;
private var price1_txt:TextField;
private var price2_txt:TextField;
private var price3_txt:TextField;
private var priceTotal_txt:TextField;
//
private var total:Number;
//
private function Calculator(newPriceCD:Number, newPriceShocks:Number, newPriceCover:Number) {
//
target = _root;
//
_priceCD = newPriceCD;
_priceShocks = newPriceShocks;
_priceCover = newPriceCover;
//
setVal();
updateQTY();
getTotal();
}
//Singleton Design Pattern
private static var instance:Calculator;
public static function getInstance():Calculator {
if (instance == null) {
instance = new Calculator();
}
return instance;
}
public function get priceCD():Number {
return _priceCD;
}
public function set priceCD(newPriceCD:Number):Void {
if (_priceCD == undefined) {
_priceCD = 0;
}
_priceCD = newPriceCD;
}
public function get priceShocks():Number {
return _priceShocks;
}
public function set priceShocks(newPriceShocks:Number):Void {
if (_priceShocks == undefined) {
_priceShocks = 0;
}
_priceShocks = newPriceShocks;
}
public function get priceCover():Number {
return _priceCover;
}
public function set priceCover(newPriceCover:Number):Void {
if (_priceCover == undefined) {
_priceCover = 0;
}
_priceCover = newPriceCover;
}
private function setVal():Void {
//var target = _root;
//
target.qty_arr = new Array(target.qty1_txt, target.qty2_txt, target.qty3_txt);
for (var i:Number = 0; i<target.qty_arr.length; i++) {
target.qty_arr*.text = 0;
//trace(target.qty_arr*.text);
}
}
private function updateQTY():Void {
//var target = _root;
//
var priceCD:Number = 320;
var priceShocks:Number = 150;
var priceCover:Number = 125;
//
target.onEnterFrame = function() {
price1_txt.text = Number(qty1_txt.text)*Number(priceCD);
price2_txt.text = Number(qty2_txt.text)*Number(priceShocks);
price3_txt.text = Number(qty3_txt.text)*Number(priceCover);
};
}
private function getTotal():Void {
var target = _root;
//
target.calculate_btn.onRelease = function() {
target.total = 0;
target.price_arr = new Array(target.price1_txt, target.price2_txt, target.price3_txt);
for (var i:Number = 0; i<target.price_arr.length; i++) {
target.total += Number(target.price_arr*.text);
trace(target.price_arr*.text);
}
target.priceTotal_txt.text = target.total;
trace(target.priceTotal_txt.text);
};
}
}