public void populateBody() //currently invoked by game controller script on button press { healthMax = 0; //StartCoroutine (waitForBpartMakerScript ()); wholeBodyOfParts.resetBodyToZero(); wholeBodyOfParts.setBodyPart(BpartMaker.makeBodyPart("large biped arm", "left")); //Debug.Log ("large biped arm, left"); wholeBodyOfParts.setBodyPart(BpartMaker.makeBodyPart("large biped arm", "right")); //Debug.Log ("large biped arm, "+ "right"); wholeBodyOfParts.setBodyPart(BpartMaker.makeBodyPart("large biped head", "left")); //Debug.Log ("soforth"); wholeBodyOfParts.setBodyPart(BpartMaker.makeBodyPart("large biped leg", "left")); //Debug.Log ("soforth"); wholeBodyOfParts.setBodyPart(BpartMaker.makeBodyPart("large biped leg", "right")); //Debug.Log ("soforth"); wholeBodyOfParts.setBodyPart(BpartMaker.makeBodyPart("large biped shoulder", "left")); //Debug.Log ("soforth"); wholeBodyOfParts.setBodyPart(BpartMaker.makeBodyPart("large biped shoulder", "right")); //Debug.Log ("soforth"); wholeBodyOfParts.setBodyPart(BpartMaker.makeBodyPart("large biped torso", "none")); // print ("play area dim " + playAreaDimensions); wholeBodyOfParts = BpartMaker.createWholeBody(wholeBodyOfParts, playAreaDimensions); //setting internal location positions of each of the body parts in relation to eachother for (int i = 0; i < wholeBodyOfParts.listOfAllParts.Count; i++) { healthMax += wholeBodyOfParts.listOfAllParts [i].getCurrentHealth(); //makes health pool } foreach (BPartGenericScript bPart in wholeBodyOfParts.listOfAllParts) { bPart.GetComponent <Transform>().SetParent(gameObject.GetComponent <Transform>()); } remainingHealth = healthMax; updateHealthDisplay(); }
public WholeBodyOfParts createWholeBody(WholeBodyOfParts incomingWholeBodyOfParts, Vector2 incomingDimensionsOfPlayArea) { for (int i = 0; i < 5; i++) { // Debug.Log (incomingWholeBodyOfParts.leftArm.getName()); // Debug.Log (incomingWholeBodyOfParts.rightArm.getName()); // Debug.Log (incomingWholeBodyOfParts.torso.getName()); } if (incomingWholeBodyOfParts.bodyPartCheck()) { Vector2 offSetToCenter = new Vector2 (Mathf.Round(incomingDimensionsOfPlayArea.x / 2) - Mathf.Round(incomingWholeBodyOfParts.torso.getDimensionsOfPart().x / 2) + 1, //the far left point that the torso needs to be center, it's origin x point incomingWholeBodyOfParts.leftLeg.getAnchorPoint().y - 1); incomingWholeBodyOfParts.torso.setTorsoOriginPosition(offSetToCenter); // incomingWholeBodyOfParts.torso.setInternalGlobalCords (); // print (incomingWholeBodyOfParts.torso.getInternalGlobalCord(new Vector2(0.0f, 0.0f))); incomingWholeBodyOfParts.leftLeg.setGlobalPosition(incomingWholeBodyOfParts.torso.getGlobalAnchorPoint("LeftLegPoint")); // incomingWholeBodyOfParts.leftLeg.setInternalGlobalCords (); // print (incomingWholeBodyOfParts.leftLeg.getInternalGlobalCord(new Vector2(0.0f, 0.0f))); incomingWholeBodyOfParts.rightLeg.setGlobalPosition(incomingWholeBodyOfParts.torso.getGlobalAnchorPoint("RightLegPoint")); // incomingWholeBodyOfParts.rightLeg.setInternalGlobalCords (); // print (incomingWholeBodyOfParts.rightLeg.getInternalGlobalCord(new Vector2(0.0f, 0.0f))); incomingWholeBodyOfParts.head.setGlobalPosition(incomingWholeBodyOfParts.torso.getGlobalAnchorPoint("HeadPoint")); // incomingWholeBodyOfParts.head.setInternalGlobalCords (); // print (incomingWholeBodyOfParts.head.getInternalGlobalCord(new Vector2(0.0f, 0.0f))); incomingWholeBodyOfParts.leftShoulder.setGlobalPositionOffComplexAnchor(incomingWholeBodyOfParts.torso.getGlobalAnchorPoint("LeftShoulderPoint"), "TorsoPoint"); // incomingWholeBodyOfParts.leftShoulder.setInternalGlobalCords (); // print (incomingWholeBodyOfParts.leftShoulder.getInternalGlobalCord(new Vector2(0.0f, 0.0f))); incomingWholeBodyOfParts.rightShoulder.setGlobalPositionOffComplexAnchor(incomingWholeBodyOfParts.torso.getGlobalAnchorPoint("RightShoulderPoint"), "TorsoPoint"); // incomingWholeBodyOfParts.rightShoulder.setInternalGlobalCords (); // print (incomingWholeBodyOfParts.rightShoulder.getInternalGlobalCord(new Vector2(0.0f, 0.0f))); incomingWholeBodyOfParts.leftArm.setGlobalPosition(incomingWholeBodyOfParts.leftShoulder.getGlobalAnchorPoint("ArmPoint")); // incomingWholeBodyOfParts.leftArm.setInternalGlobalCords (); // print (incomingWholeBodyOfParts.leftArm.getInternalGlobalCord(new Vector2(0.0f, 0.0f))); incomingWholeBodyOfParts.rightArm.setGlobalPosition(incomingWholeBodyOfParts.rightShoulder.getGlobalAnchorPoint("ArmPoint")); // incomingWholeBodyOfParts.rightArm.setInternalGlobalCords (); // print (incomingWholeBodyOfParts.rightArm.getInternalGlobalCord(new Vector2(0.0f, 0.0f))); } else { Debug.Log("There are body parts missing"); } return(incomingWholeBodyOfParts); }