public override void OnInspectorGUI( ) { serializedObject.Update( ); SplineNode targetNode = target as SplineNode; EditorGUILayout.LabelField( " Name", target.name ); if( targetNode.spline == null ) { EditorGUILayout.HelpBox( "This SplineNode isn't used by any spline in the scene. Attach this node to a spline by dragging it onto a spline's Inspector window!", MessageType.Info ); return; } int index = Array.IndexOf( targetNode.spline.SplineNodes, targetNode ); EditorGUILayout.TextField( " Index in Spline", index.ToString( ) ); EditorGUILayout.Space( ); lMode = (LengthMode) EditorGUILayout.EnumPopup( " Length Mode", lMode ); EditorGUILayout.Space( ); EditorGUILayout.TextField( " Position in Spline", (posInSplineProp.floatValue * ((lMode != LengthMode.GameUnits) ? 1 : ((SplineNode)target).spline.Length)).ToString( ) ); EditorGUILayout.TextField( " Distance to next node", (lengthProp.floatValue * ((lMode != LengthMode.GameUnits) ? 1 : ((SplineNode)target).spline.Length)).ToString( ) ); EditorGUILayout.Space( ); EditorGUILayout.PropertyField( customValueProp, new GUIContent( " Custom Data" ) ); EditorGUILayout.Space( ); EditorGUILayout.BeginHorizontal( ); EditorGUILayout.Space( ); if( GUILayout.Button( "Previous Node", GetButtonGUIStyle( ), GUILayout.Width( 150f ), GUILayout.Height( 23f ) ) ) { SplineNode[] splineNodes = targetNode.spline.SplineNodes; Selection.activeGameObject = splineNodes[ (index!=0 ? index : splineNodes.Length ) - 1].gameObject; } GUILayout.Space( 10f ); if( GUILayout.Button( "Next Node", GetButtonGUIStyle( ), GUILayout.Width( 150f ), GUILayout.Height( 23f ) ) ) { SplineNode[] splineNodes = targetNode.spline.SplineNodes; Selection.activeGameObject = splineNodes[(index+1)%splineNodes.Length].gameObject; } EditorGUILayout.Space( ); EditorGUILayout.EndHorizontal( ); EditorGUILayout.Space( ); //Apply changes serializedObject.ApplyModifiedProperties( ); }
private void DrawInspectorOptions( ) { EditorGUILayout.PrefixLabel("Inspector Options", EditorStyles.label, EditorStyles.boldLabel); ++EditorGUI.indentLevel; lMode = (LengthMode)EditorGUILayout.EnumPopup("Length Mode", lMode); SmallSpace( ); --EditorGUI.indentLevel; }
public override void Write(ref CborWriter writer, CborValue value, LengthMode lengthMode) { switch (value.Type) { case CborValueType.Object: ((ICborConverter <CborObject>) this).Write(ref writer, (CborObject)value, lengthMode); break; case CborValueType.Array: ((ICborConverter <CborArray>) this).Write(ref writer, (CborArray)value, lengthMode); break; case CborValueType.Positive: writer.WriteUInt64(value.Value <ulong>()); break; case CborValueType.Negative: writer.WriteInt64(value.Value <long>()); break; case CborValueType.Single: writer.WriteSingle(value.Value <float>()); break; case CborValueType.Double: writer.WriteDouble(value.Value <double>()); break; case CborValueType.Decimal: writer.WriteDecimal(value.Value <decimal>()); break; case CborValueType.String: writer.WriteString(value.Value <string>()); break; case CborValueType.Boolean: writer.WriteBoolean(value.Value <bool>()); break; case CborValueType.Null: writer.WriteNull(); break; case CborValueType.ByteString: writer.WriteByteString(value.Value <ReadOnlyMemory <byte> >().Span); break; } }
public override void Write(ref CborWriter writer, TI[]?value, LengthMode lengthMode) { if (value == null) { writer.WriteNull(); return; } WriterContext context = new WriterContext { array = value, lengthMode = lengthMode != LengthMode.Default ? lengthMode : _options.ArrayLengthMode }; writer.WriteArray(this, ref context); }
public MemberConverter(CborConverterRegistry registry, IMemberMapping memberMapping) { MemberInfo?memberInfo = memberMapping.MemberInfo; if (memberInfo == null) { throw new CborException("MemberInfo must not be null"); } _memberName = Encoding.UTF8.GetBytes(memberMapping.MemberName !); _memberGetter = GenerateGetter(memberInfo); _memberSetter = GenerateSetter(memberInfo); _converter = (ICborConverter <TM>)memberMapping.Converter !; _defaultValue = (TM)memberMapping.DefaultValue !; _ignoreIfDefault = memberMapping.IgnoreIfDefault; _shouldSerializeMethod = memberMapping.ShouldSerializeMethod; _lengthMode = memberMapping.LengthMode; _requirementPolicy = memberMapping.RequirementPolicy; }
public MemberMapping <T> SetLengthMode(LengthMode lengthMode) { LengthMode = lengthMode; return(this); }
public virtual void Write(ref CborWriter writer, T value, LengthMode lengthMode) { Write(ref writer, value); }
void ICborConverter <CborArray?> .Write(ref CborWriter writer, CborArray?value, LengthMode lengthMode) { if (value == null) { writer.WriteNull(); return; } ArrayWriterContext arrayWriterContext = new ArrayWriterContext { array = value, lengthMode = lengthMode != LengthMode.Default ? lengthMode : _options.ArrayLengthMode }; writer.WriteArray(this, ref arrayWriterContext); }
void ICborConverter <CborObject?> .Write(ref CborWriter writer, CborObject?value, LengthMode lengthMode) { if (value == null) { writer.WriteNull(); return; } MapWriterContext mapWriterContext = new MapWriterContext { obj = value, enumerator = value.GetEnumerator(), lengthMode = lengthMode != LengthMode.Default ? lengthMode : _options.MapLengthMode }; writer.WriteMap(this, ref mapWriterContext); }
public static ulong GetChannelPosition(uint handle, LengthMode mode) { return(BASS_ChannelGetPosition(handle, (uint)mode)); }
public static ulong GetChannelLength(uint handle, LengthMode mode) { return(BASS_ChannelGetLength(handle, (uint)mode)); }
private static extern ulong BASS_ChannelGetPosition(this BassHandle handle, LengthMode mode);
public static ulong GetChannelPosition(this BassHandle handle, LengthMode mode) { return(handle.BASS_ChannelGetPosition(mode)); }
public static ulong GetChannelLength(this BassHandle handle, LengthMode mode) { return(handle.BASS_ChannelGetLength(mode)); }
public LengthDescriptor(double value, LengthMode lengthMode) { Value = value; LengthMode = lengthMode; }