public void RotToTarget(DynamicTarget tgt) { Vector3 tmpTGT = tgt.NoTarget ? (Vector3)OrigRef : pivot.InverseTransformPoint(tgt.Position); Vector2 target = new Vector2(tmpTGT.x, tmpTGT.y); float angle = Mathf.Deg2Rad * Vector2.Angle(Vector2.up, target); if (angle == 0) return; angle = Mathf.Clamp(increment * TimeWarp.fixedDeltaTime, 0, angle); if (target.x > 0) { angle = -angle; } if (!fullcircle) { tmpTGT = OrigRef; target = new Vector2(tmpTGT.x, tmpTGT.y); float angleRef = Mathf.Deg2Rad * Vector2.Angle(Vector2.up, target); if (target.x > 0) { angleRef = -angleRef; } angle = Mathf.Clamp(angle, angleRef - angleMinus, angleRef + anglePlus); if (angle == 0) return; } pivot.RotateAround(pivot.forward, angle); }
/// <summary> /// Called when target is added. /// </summary> /// <param name="session">The session.</param> /// <param name="target">The target.</param> /// <param name="wingTarget">The wing target.</param> private void OnTargetAdded(ISession session, Target target, DynamicTarget wingTarget) { OnWingAdded(); DynamicTargetService.ReconcileMigrations(wingTarget); DynamicTargetService.ImportMeasures(target, wingTarget, session); DynamicTargetService.ImportReports(wingTarget, session); }
public override bool IsSame(ITarget other) { DynamicTarget dyn = other as DynamicTarget; if (dyn != null) { return(dyn.target == target); } return(base.IsSame(other)); }
public void RotToTarget(DynamicTarget tgt) { Vector3 tmpTGT = tgt.NoTarget ? (Vector3)OrigRef : pivot.InverseTransformPoint(tgt.Position); Vector2 target = new Vector2(tmpTGT.x, tmpTGT.y); float angle = Mathf.Deg2Rad * Vector2.Angle(Vector2.up, target); if (angle == 0) { return; } angle = Mathf.Clamp(increment * TimeWarp.fixedDeltaTime, 0, angle); if (target.x > 0) { angle = -angle; } if (!fullcircle) { tmpTGT = OrigRef; target = new Vector2(tmpTGT.x, tmpTGT.y); float angleRef = Mathf.Deg2Rad * Vector2.Angle(Vector2.up, target); if (target.x > 0) { angleRef = -angleRef; } angle = Mathf.Clamp(angle, angleRef - angleMinus, angleRef + anglePlus); if (angle == 0) { return; } } pivot.RotateAround(pivot.forward, angle); }