private void LateUpdate() { if (string.IsNullOrWhiteSpace(CurrentHurtModeName)) { return; } HurtMode hurtMode = GetHurtMode(CurrentHurtModeName); foreach (var hurtPart in hurtMode.HurtPartList) { if (hurtPart.IsFollowSlot) { GameObject hurtPartObject = GetPartObject(hurtPart.Name); Vector3 worldPosition; Vector3 worldScale; Quaternion worldRotation; if (skeletonRenderer.TryGetSlotAttachmentCube(hurtPart.FollowSlotName, out worldPosition, out worldScale, out worldRotation)) { hurtPartObject.SetActive(true); hurtPartObject.transform.position = worldPosition; hurtPartObject.transform.localScale = worldScale; hurtPartObject.transform.localRotation = worldRotation; } else { hurtPartObject.SetActive(false); Debug.Log("找不到slot:" + hurtPart.FollowSlotName); } } } }
private void LateUpdate() { if (bindType == FrameEventInfo.RoleAtkFrameEventData.BindType.BindAnimSlot) { if (bindSkeletonRenderer != null && bindSlotName != null) { Vector3 worldPostion, worldScale; Quaternion worldRotation; if (bindSkeletonRenderer.TryGetSlotAttachmentCube(bindSlotName, out worldPostion, out worldScale, out worldRotation)) { transform.position = worldPostion; transform.localScale = new Vector3(worldScale.x, worldScale.y, transform.localScale.z); // z保持不变 add by TangJian 2018/12/5 17:43 transform.localRotation = worldRotation; mainCollider.enabled = true; if (Definition.Debug) { DebugManager.Instance.AddDrawGizmos("DamageController" + GetInstanceID(), () => { bindSkeletonRenderer.DrawGizmosSlotAttachmentBox(bindSlotName); }); } } } else { mainCollider.enabled = false; } } else if (bindType == FrameEventInfo.RoleAtkFrameEventData.BindType.BindObjectController) { if (ObjectController != null) { transform.position = ObjectController.transform.position; mainCollider.enabled = true; } } else { mainCollider.enabled = true; } // 移除自己 if (NeedRemoveSelf != null && NeedRemoveSelf()) { NeedRemoveSelf = null; DelayFunc(() => { DamageManager.Instance.Remove(this); }, 0.01f); } if (OldPos == Vector3.zero && BeforePos == Vector3.zero) { OldPos = transform.position; } else { // if (Time.time-TimeRecord>0.1f) // { BeforePos = new Vector3(OldPos.x, OldPos.y, OldPos.z); OldPos = transform.position; // TimeRecord = Time.time; // } } }