internal void FetchColor() { if (!m_HasColor.HasValue) { m_HasColor = ClipboardParser.ParseColor(m_RawContents, out m_ValueColor); } }
internal void FetchVector4() { if (!m_HasVector4.HasValue) { m_HasVector4 = ClipboardParser.ParseVector4(m_RawContents, out m_ValueVector4); } }
internal void FetchQuaternion() { if (!m_HasQuaternion.HasValue) { m_HasQuaternion = ClipboardParser.ParseQuaternion(m_RawContents, out m_ValueQuaternion); } }
internal void FetchBool() { if (!m_HasBool.HasValue) { m_HasBool = ClipboardParser.ParseBool(m_RawContents, out m_ValueBool); } }
internal void FetchLayerMask() { if (!m_HasLayerMask.HasValue) { m_HasLayerMask = ClipboardParser.ParseLayerMask(m_RawContents, out m_ValueLayerMask); } }
internal void FetchBounds() { if (!m_HasBounds.HasValue) { m_HasBounds = ClipboardParser.ParseBounds(m_RawContents, out m_ValueBounds); } }
internal void FetchGuid() { if (!m_HasGuid.HasValue) { m_HasGuid = ClipboardParser.ParseGuid(m_RawContents, out m_ValueGuid); } }
internal void FetchRect() { if (!m_HasRect.HasValue) { m_HasRect = ClipboardParser.ParseRect(m_RawContents, out m_ValueRect); } }
internal void FetchEnum() { if (!m_HasEnum.HasValue) { m_HasEnum = ClipboardParser.ParseEnum(m_RawContents, out m_ValueEnum); } }
internal void FetchHash128() { if (!m_HasHash128.HasValue) { m_HasHash128 = ClipboardParser.ParseHash128(m_RawContents, out m_ValueHash128); } }
internal void FetchFloat() { if (!m_HasFloat.HasValue) { m_HasFloat = ClipboardParser.ParseFloat(m_RawContents, out m_ValueFloat); } }
internal void FetchInteger() { if (!m_HasInteger.HasValue) { m_HasInteger = ClipboardParser.ParseInteger(m_RawContents, out m_ValueInteger); } }
internal void FetchAnimationCurve() { if (!m_HasAnimationCurve.HasValue) { m_HasAnimationCurve = ClipboardParser.ParseCustom <AnimationCurveWrapper>(m_RawContents, out var wrapper); m_ValueAnimationCurve = wrapper.curve; } }
internal void FetchGradient() { if (!m_HasGradient.HasValue) { m_HasGradient = ClipboardParser.ParseCustom <GradientWrapper>(m_RawContents, out var wrapper); m_ValueGradient = wrapper.gradient; } }
internal void FetchObject() { if (!m_HasObject.HasValue) { m_HasObject = ClipboardParser.ParseCustom <ObjectWrapper>(m_RawContents, out var wrapper); m_ValueObject = wrapper.ToObject(); } }
internal bool FetchCustom <T>(out T res) where T : new() { var key = typeof(T); if (m_ValuesCustom.TryGetValue(key, out var cached)) { if (cached != null) { res = (T)cached; return(true); } res = default; return(false); } var ok = ClipboardParser.ParseCustom(m_RawContents, out res); m_ValuesCustom.Add(key, ok ? res : default); return(ok); }