I made a class target:
class Target{
public var target : Transform;
public var rotationTarget : Transform;
public var rotationVector : Vector3;
public var centerAktion : Aktionen;
public var centerTransform : Transform;
public var action : Aktionen;
public var actionTime : float;
public var actualGO : GameObject;
//0
public function Target(actualGO: GameObject){
//zu 1
Target(actualGO, Aktionen.Stand, new Vector3(0,1,0));
Debug.Log("after Init 1:"+this.toString());
}
//1
public function Target(actualGO : GameObject, action : Aktionen, target : Vector3){
var temp : Transform = new GameObject().transform;
try{
TransformRotationArray.Instance.Add(temp, actualGO.name+"_"+action);
temp.position = target;
}catch(e : Exception){
Debug.Log("Problem in TransRotTarget");
}
//zu 4
Target(actualGO, action, temp);
Debug.Log("after Init 4:"+this.toString());
}
//2
public function Target(actualGO : GameObject, action : Aktionen, target : Vector3, rotationVector : Vector3){
var temp : Transform = new GameObject().transform;
temp.position = target;
// Debug.Log(gameObject);
TransformRotationArray.Instance.Add(temp, actualGO.name+"_"+action);
//zu 8
Target(actualGO, action, temp, rotationVector);
}
//3
public function Target(actualGO : GameObject, action : Aktionen, target : Vector3, rotationTarget : Transform){
var temp : Transform = new GameObject().transform;
temp.position = target;
TransformRotationArray.Instance.Add(temp, actualGO.name+"_"+action);
//zu 4
Target(actualGO, action, temp, rotationTarget);
Debug.Log(this);
}
//4
public function Target(actualGO : GameObject, action : Aktionen, target : Transform){
//zu 6
Target(actualGO, action, target, target);
Debug.Log("after Init 6:"+this.toString());
}
//5
public function Target(actualGO : GameObject, action : Aktionen, centerAktion : Aktionen, target : Transform){
//zu 6
Target(actualGO, action, centerAktion, target, target);
}
//6
public function Target(actualGO : GameObject, action : Aktionen, target : Transform, rotationTarget : Transform){
//zu 7
Target(actualGO, action, action, target, rotationTarget);
Debug.Log("after Init 7:"+this.toString());
}
//7
public function Target(actualGO : GameObject, action : Aktionen, centerAktion : Aktionen, target : Transform, rotationTarget : Transform){
this.actualGO = actualGO;
this.rotationTarget = rotationTarget;
this.target = target;
this.action = action;
rotationVector = Vector3.zero;
// Debug.Log("Fehler: "+actualGO + " a:" + action + " ca:"+centerAktion+ " t:"+target+ " rt:"+rotationTarget);
centerTransform = actualGO.Find(centerAktion+"").transform;
if(action != Aktionen.Stand && centerAktion != Aktionen.Stand)
actionTime = GameObject.FindWithTag("Ball").GetComponent(BallScript).getTForVector(target.position);
Debug.Log("in Init 7:"+this.toString());
// Debug.Log(actualGO.name + " ziel: "+ target.name + " " + action +" "+centerTransform);
}
//8
public function Target(actualGO : GameObject, action : Aktionen, target : Transform, rotation : Vector3){
//zu 9
Target(actualGO, action, action, target, rotation);
}
//9
public function Target(actualGO : GameObject, action : Aktionen, centerAktion : Aktionen, target : Transform, rotation : Vector3){
// Debug.Log(gameObject.name + " ziel: "+ target + " " + action +" "+centerAktion);
this.actualGO = actualGO;
this.action = action;
this.target = target;
this.rotationVector = rotation;
centerTransform = actualGO.Find(centerAktion+"").transform;
if(action != Aktionen.Stand && centerAktion != Aktionen.Stand)
actionTime = GameObject.FindWithTag("Ball").GetComponent(BallScript).getTForVector(target.position);
timeUntilHighestPoint = Helper.getTForYMax(Helper.getVY0(centerTransform.position.y, target.position.y));
// Debug.Log(gameObject.name + " ziel: "+ target + " " + action +" "+centerPosition);
}
public function toString():String{
return "Target String: "+actualGO + " a:" + action + " ca:"+centerAktion+ " t:"+target+ " rt:"+rotationTarget + " ct:"+centerTransform+" at:" + actionTime;
}
}
Should work fine, Problem is, when Constructor 7 is called and comes back to Constructor 6, it forgets the whole Object, here is the output:
in Init 7:Target String: Gegner 5 (UnityEngine.GameObject) a:Stand ca:0 t:TempTarget_11_Gegner 5_Stand (UnityEngine.Transform) rt:TempTarget_11_Gegner 5_Stand (UnityEngine.Transform) ct:Stand (UnityEngine.Transform) at:0
UnityEngine.Debug:Log(Object)
Target:.ctor(GameObject, Aktionen, Aktionen, Transform, Transform) (at Assets/Prefabs/Männchen/Target.js:88)
Target:.ctor(GameObject, Aktionen, Transform, Transform) (at Assets/Prefabs/Männchen/Target.js:71)
Target:.ctor(GameObject, Aktionen, Transform) (at Assets/Prefabs/Männchen/Target.js:59)
Target:.ctor(GameObject, Aktionen, Vector3) (at Assets/Prefabs/Männchen/Target.js:33)
Target:.ctor(GameObject) (at Assets/Prefabs/Männchen/Target.js:19)
komController:Start() (at Assets/Prefabs/Männchen/komController.js:53)
after Init 7:Target String: a:0 ca:0 t: rt: ct: at:0
UnityEngine.Debug:Log(Object)
Target:.ctor(GameObject, Aktionen, Transform, Transform) (at Assets/Prefabs/Männchen/Target.js:72)
Target:.ctor(GameObject, Aktionen, Transform) (at Assets/Prefabs/Männchen/Target.js:59)
Target:.ctor(GameObject, Aktionen, Vector3) (at Assets/Prefabs/Männchen/Target.js:33)
Target:.ctor(GameObject) (at Assets/Prefabs/Männchen/Target.js:19)
komController:Start() (at Assets/Prefabs/Männchen/komController.js:53)
What am i doing wrong?