iTween FadeTo oncomplete

Hey guys,

I know… This question has been here before but these where all with older version or I just have the same as the answer to those topics but I just can’t get it to work… It should do the callback function but it just doesn’t…

I hope you guys can help me out. The problem is the itween function in OnMouseUp().

Greatings,
Peter

private var chamberClickMovement : ChamberClickMovement;
var view : Transform;
public var cameras : Transform[];
public var models : ObjectFade[];
private var goAlpha : boolean = true;
private var isOn = false;
var chamber : GameObject;
var onChamber : boolean = false;
private var allChildren;
var chamberLight : Light;
var lightOn : boolean = false;

var initialDelay = 1.0;
private var fadeSpeed = 3.0;

function Start () {
	chamberClickMovement = GameObject.Find("Main Camera").GetComponent(ChamberClickMovement);
	//chamber.transform.position.y = -10;
	iTween.FadeTo(chamber, iTween.Hash("alpha",0));
	var renderers = chamber.GetComponentsInChildren(Renderer);
	for (var r : Renderer in renderers) {
	    Debug.Log(renderers.length);
	    //r.lightmapIndex = 255;
	    r.material.shader = Shader.Find("Transparent/DiffuseForComplexGeometry");
	}
}

function OnMouseUp() {
	//chamberclickmovement.StartMove(this.transform);
	//Debug.Log("In");
	chamberClickMovement.fadeShadows = true;
	chamberClickMovement.showShadows = true;
	isOn = true;
	goAlpha = true;
	chamberClickMovement.MoveCamera(view, this.transform, 1);
	iTween.FadeTo(chamber, iTween.Hash("alpha",1,"oncompletetarget",chamber,"oncomplete","FadeGround"));
	//GoFadeHigh();
}

function OnMouseEnter () {
		//Debug.Log("Enter");
	if(isOn == false){
		//goAlpha = false;
		//chamber.transform.position.y = 0;
		//iTween.FadeTo(chamber, iTween.Hash("alpha",1,"time",1));
	}
}

function OnMouseExit () {
		//Debug.Log("Exit");
	if(isOn == false){
		//goAlpha = true;
		//chamber.transform.position.y = -10;
		//iTween.FadeTo(chamber, iTween.Hash("alpha",0,"time",1));
	}
}

function Update () {
	if(lightOn == false  chamberLight.intensity > 0){ // Turn lights on
		chamberLight.intensity -= (5 * Time.deltaTime); 
	}
	if(lightOn == true  chamberLight.intensity < 7){ // Turn lights on
		chamberLight.intensity += (5 * Time.deltaTime); 
	}
	/*if(goAlpha == true){
		if (renderer.material.color.a > 0.0) { 
   			color = renderer.material.color; 
   			color.a = 0.0; 
   			renderer.material.color = Color.Lerp(renderer.material.color, color, fadeSpeed * Time.deltaTime); 
		}
	}
	if(goAlpha == false){
		if (renderer.material.color.a < 0.5) { 
   			color = renderer.material.color; 
   			color.a = 0.5; 
   			renderer.material.color = Color.Lerp(renderer.material.color, color, fadeSpeed * Time.deltaTime); 
		}	
	}*/
}

function GoFadeHigh (){
	for (var i = 0; i < models.length; i++ ){
		models[i].goFade = true;
		models[i].goAlpha = true;
	}
}

function GoFadeLow (){
	for (var i = 0; i < models.length; i++ ){
		models[i].goFade = true;
		models[i].goAlpha = false;
	}
}

function FadeGround () {
	Debug.Log("FadeGround");
	iTween.FadeTo(chamberClickMovement.groundEmpty, iTween.Hash("alpha",0,"time",1,"Delay",0.5));
   	iTween.FadeTo(chamberClickMovement.groundShadows, iTween.Hash("alpha",1,"time",1));
}
function FadeChamber () {
	
}

Your problem is with this line:
“iTween.FadeTo(chamber, iTween.Hash(“alpha”,1,“oncompletetarget”,chamber,“oncomplete”,“FadeGround”));”

The FadeGround() method is not contained in “chamber” its contained in the GameObject that is currently running this script. That being said, this should work fine for you because, by default, iTween attempts to run any callback methods on the GameObject that it is animating:

“iTween.FadeTo(chamber, iTween.Hash(“alpha”, 1, “oncompletetarget”, gameObject, “oncomplete”, “FadeGround”));”

Hope this works for you.