override public void Update() { base.Update(); TargetGuideBehavior targetGuideBehavior = GetBehavior <TargetGuideBehavior>(); if (targetGuideBehavior != null) { Camera mainCamera = xc.Game.Instance.MainCamera; if (mainCamera != null) { Vector3 pos = mainCamera.WorldToScreenPoint(this.GetModelParent().transform.position); pos.z = 0f; Rect camRect = mainCamera.pixelRect; // 在屏幕外 if (!camRect.Contains(pos)) { targetGuideBehavior.EnableBehaviors(true); } else { targetGuideBehavior.EnableBehaviors(false); } } } }
public override void InitBehaviors() { if (SceneHelp.Instance.IsInDeadSpaceInstance == true) { AddBehavior(new TargetGuideBehavior(this)); TargetGuideBehavior targetGuideBehavior = GetBehavior <TargetGuideBehavior>(); UI3DTargetGuide.StyleInfo styleInfo = new UI3DTargetGuide.StyleInfo(); styleInfo.EllipseRadius1 = 110f; styleInfo.EllipseRadius2 = 90f; targetGuideBehavior.SetStyle(styleInfo); } base.InitBehaviors(); }