Using Singleton Design Pattern

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);
		};
	}
}