/// <summary> /// 如果是身体部位才有,获取与其他各个部位连接坐标 /// </summary> /// <returns>The body join point.</returns> /// <param name="bodyType">Body type.</param> public Vector2 GetBodyJoinPoint(PartOfBodyType bodyType) { if (this.bodyJoinPointDic == null) { Debug.LogError("not init bodyJoinPointDic!"); } return this.bodyJoinPointDic[bodyType]; }
/// <summary> /// 如果是身体部位才有,设置与其他各个部位连接坐标 /// </summary> /// <param name="bodyType">Body type.</param> /// <param name="point">Point.</param> public void SetBodyJoinPoint(PartOfBodyType bodyType, Vector2 point) { if (this.bodyJoinPointDic == null) { this.bodyJoinPointDic = new Dictionary<PartOfBodyType, Vector2>(); } this.bodyJoinPointDic[bodyType] = point; }
private void GenerateSomePartOfBody(PartOfBodyType type, int w, int h, Vector2 joinPoint) { // 生成modle PartOfBodyModel bodyModel = new PartOfBodyModel(); bodyModel.type = type; bodyModel.grade = this.grade; bodyModel.level = this.level; bodyModel.weight = w; bodyModel.height = h; if (type == PartOfBodyType.Body) { bodyModel.SetBodyJoinPoint(PartOfBodyType.LetfArm, new Vector2(0, 0.8f)); bodyModel.SetBodyJoinPoint(PartOfBodyType.RightArm, new Vector2(1f, 0.8f)); bodyModel.SetBodyJoinPoint(PartOfBodyType.LeftLeg, new Vector2(0.2f, 0f)); bodyModel.SetBodyJoinPoint(PartOfBodyType.RightLeg, new Vector2(0.8f, 0f)); bodyModel.SetBodyJoinPoint(PartOfBodyType.Head, new Vector2(0.5f, 1f)); } else { bodyModel.joinPoint = joinPoint; } bodyModel.maxHP = 100; bodyModel.curHP = 100; bodyModel.InitPartOfBodyNodeModels(); PartOfBodyController bodyPartOfBodyController = Instantiate(this.PartOfBodyPrefab, this.PartOfBodyRoot.transform).GetComponent <PartOfBodyController>(); this.partOfBodyControllers.Add(bodyPartOfBodyController); bodyPartOfBodyController.InitPartOfBodyUI(bodyModel, this.partOfBodyControllers[0]); }