private bool RestrictedAxis(SrGizmo srGizmo, SrGizmoAxis srGizmoAxis) { var axisRestriction = GetAxisRestriction(srGizmo); var srRestrictAxises = axisRestriction as SrRestrictAxis[] ?? axisRestriction.ToArray(); var axisRestrictionCount = srRestrictAxises.Count(ar => ar.GizmoType == srGizmo.GizmoType); return(srRestrictAxises.Any(ar => ar.GizmoType == srGizmo.GizmoType && ar.RestrictAxisTo == srGizmoAxis.SrAxis) || axisRestrictionCount == 0); }
private void SetGizmoPosition(SrGizmo gizmo) { if (_selectedObject == null || gizmo == null) { return; } var offSetData = _selectedObject.GetComponent <SrGizmoPositionOffset>(); var offSet = offSetData?.PositionOffset ?? Vector3.zero; gizmo.transform.position = _selectedObject.transform.position + offSet; gizmo.transform.rotation = _selectedObject.transform.rotation; }
private void SetupGizmo(SrGizmo srGizmo, bool enableGizmo) { if (_selectedObject != null && enableGizmo) { SetGizmoPosition(srGizmo); srGizmo.gameObject.SetActive(true); } else { srGizmo.gameObject.SetActive(false); _selectedGizmoType = SrGizmoType.None; } }
public IEnumerable <SrRestrictAxis> GetAxisRestriction(SrGizmo srGizmo) { return(_selectedObject?.GetComponents <SrRestrictAxis>()?.Where(ra => ra.GizmoType == srGizmo?.GizmoType) ?? Enumerable.Empty <SrRestrictAxis>()); }
private bool IsFullyRestricted(SrGizmo srGizmo) { return(_selectedObject?.GetComponents <SrRestrictAxis>()?.Any(ar => ar.RestrictAxisTo == SrAxisType.None && ar.GizmoType == srGizmo.GizmoType) ?? false); }