public override void Init() { player = player != null ? player : transform; generateGravity = player != null?player.GetComponent <GenerateGravity>() : GetComponent <GenerateGravity>(); resetPos = player != null ? player.transform.position : new Vector3(2, 5, -5.6f); particleController = player != null?player.GetComponent <ParticlesControllerBase>() : GetComponent <ParticlesControllerBase>(); ResetPlayer(); RemoveListener(); }
private void Awake() { generateGravity = sphere != null?sphere.GetComponent <GenerateGravity>() : null; resetPos = sphere != null ? sphere.transform.position : new Vector3(2, 5, -5.6f); resetTransParent = rotateTrans.parent;// sphere != null ? sphere.parent : null; aixController = resetTransParent != null?resetTransParent.GetComponent <ShadowAixController>() : null; bodyController = newRotateTrans != null?newRotateTrans.GetComponent <BodyController>() : null; particleController = sphere != null?sphere.GetComponent <ParticlesControllerBase>() : null; if (bodyController != null) { rotateTransParent = bodyController.RotateTrans; resetTransParent = bodyController.transform; } }
public override void ToShootOff() { if (isToMoveCenter) { Collider[] colliders = OverlapColliders(); if (colliders == null || colliders.Length <= 0) { return; } for (int i = 0; i < colliders.Length; i++) { if (colliders[i] == null || MyMathf.IsInLayerMask(colliders[i].attachedRigidbody.gameObject, colliderLayer) == false) { continue; } if ((triggerNum > 0 || triggerNum == -1) && !isMoveToCenter) { isMoveToCenter = true; if (veiwModel != null) { veiwModel.gameObject.SetActive(false); } colliderRigidbody = colliders[i].attachedRigidbody; colliderTrans = colliderRigidbody.transform; colliderGravity = colliderTrans.GetComponent <GenerateGravity>(); if (colliderGravity) { colliderGravity.SetIsGravity = false; } colliderRigidbody.velocity = Vector3.zero; isTrigger = true; break; } break; } } else { Collider[] colliders = OverlapColliders(); if (colliders == null || colliders.Length <= 0) { return; } for (int i = 0; i < colliders.Length; i++) { if (colliders[i] == null || MyMathf.IsInLayerMask(colliders[i].attachedRigidbody.gameObject, colliderLayer) == false) { continue; } if ((triggerNum > 0 || triggerNum == -1)) { if (veiwModel != null) { veiwModel.gameObject.SetActive(false); } ToShootOff(colliders[i].attachedRigidbody); if (SpringEvent != null) { SpringEvent?.Invoke(null); } if (triggerNum > 0) { triggerNum--; } } break; } } }