private JointScript CreateJointObject(Joint joint, GameObject parent) { Shape shape = PartLoader.GetJoint(joint); GameObject gameObject = shape.Instantiate(parent.transform); JointScript jointScript = gameObject.AddComponent <JointScript>(); jointScript.shape = shape; jointScript.Id = joint.Id; jointScript.Controller = joint.Controller; // todo: this is not gud jointScript.SetColor(joint.Color); if (!GameController.Instance.potatoMode) { shape.ApplyTextures(gameObject); } jointScript.SetBlueprintPosition(joint.PosA); jointScript.SetBlueprintRotation(joint.XaxisA, joint.ZaxisA); jointScript.DoRotationPositionOffset(joint.XaxisA, joint.ZaxisA); // required for joints return(jointScript); }