コード例 #1
0
        protected override void OnEnable()
        {
            base.OnEnable();

            _themeInstance = (QuantumTheme)target;

            _fontProperty          = serializedObject.FindProperty("Font");
            _panelMaterialProperty = serializedObject.FindProperty("PanelMaterial");
            _panelColorProperty    = serializedObject.FindProperty("PanelColor");

            _defaultValueColorProperty       = serializedObject.FindProperty("DefaultReturnValueColor");
            _errorColorProperty              = serializedObject.FindProperty("ErrorColor");
            _warningColorProperty            = serializedObject.FindProperty("WarningColor");
            _successColorProperty            = serializedObject.FindProperty("SuccessColor");
            _selectedSuggestionColorProperty = serializedObject.FindProperty("SelectedSuggestionColor");
            _suggestionColorProperty         = serializedObject.FindProperty("SuggestionColor");
            _commandLogColorProperty         = serializedObject.FindProperty("CommandLogColor");

            _timestampFormatProperty = serializedObject.FindProperty("TimestampFormat");

            _typeFormattersProperty    = serializedObject.FindProperty("TypeFormatters");
            _typeFormattersListDisplay = new ReorderableList(serializedObject, _typeFormattersProperty, true, true, true, true);
            _typeFormattersListDisplay.onAddCallback       = AppendNewTypeFormatter;
            _typeFormattersListDisplay.drawElementCallback = DrawTypeFormatterInspector;
            _typeFormattersListDisplay.drawHeaderCallback  = DrawTypeFormatterListHeader;

            _collectionFormattersProperty    = serializedObject.FindProperty("CollectionFormatters");
            _collectionFormattersListDisplay = new ReorderableList(serializedObject, _collectionFormattersProperty, true, true, true, true);
            _collectionFormattersListDisplay.onAddCallback       = AppendNewCollectionFormatter;
            _collectionFormattersListDisplay.drawElementCallback = DrawCollectionFormatterInspector;
            _collectionFormattersListDisplay.drawHeaderCallback  = DrawCollectionFormatterListHeader;
        }
コード例 #2
0
        public override string SerializeFormatted(object value, QuantumTheme theme)
        {
            Type         type = value.GetType();
            PropertyInfo keyProperty;
            PropertyInfo valueProperty;

            if (_keyPropertyLookup.ContainsKey(type))
            {
                keyProperty = _keyPropertyLookup[type];
            }
            else
            {
                keyProperty = type.GetProperty("Key");
                _keyPropertyLookup[type] = keyProperty;
            }

            if (_valuePropertyLookup.ContainsKey(type))
            {
                valueProperty = _valuePropertyLookup[type];
            }
            else
            {
                valueProperty = type.GetProperty("Value");
                _valuePropertyLookup[type] = valueProperty;
            }

            string innerKey   = SerializeRecursive(keyProperty.GetValue(value, null), theme);
            string innerValue = SerializeRecursive(valueProperty.GetValue(value, null), theme);

            return($"{innerKey}: {innerValue}");
        }
コード例 #3
0
        public override string SerializeFormatted(DictionaryEntry value, QuantumTheme theme)
        {
            string innerKey   = SerializeRecursive(value.Key, theme);
            string innerValue = SerializeRecursive(value.Value, theme);

            return($"{innerKey}: {innerValue}");
        }
コード例 #4
0
        public override string SerializeFormatted(ITuple value, QuantumTheme theme)
        {
            string[] serializedItems = new string[value.Length];
            for (int i = 0; i < value.Length; i++)
            {
                serializedItems[i] = SerializeRecursive(value[i], theme);
            }

            return($"({string.Join(", ", serializedItems)})");
        }
コード例 #5
0
        public static string WrapTextColorByLevel(string text, LogType level, QuantumTheme theme)
        {
            if (theme == null)
            {
                return(text);
            }

            if (level == LogType.Warning)
            {
                return(ColorExtensions.ColorText(text, theme.WarningColor));
            }

            if (level == LogType.Assert || level == LogType.Error || level == LogType.Exception)
            {
                return(ColorExtensions.ColorText(text, theme.ErrorColor));
            }

            return(text);
        }
コード例 #6
0
 public override string SerializeFormatted(Vector3 value, QuantumTheme theme)
 {
     return($"({value.x}, {value.y}, {value.z})");
 }
コード例 #7
0
ファイル: UnityObjectSerializer.cs プロジェクト: jimu/pbem001
 public override string SerializeFormatted(Object value, QuantumTheme theme)
 {
     return(value.name);
 }
コード例 #8
0
 public override string SerializeFormatted(Type value, QuantumTheme theme)
 {
     return(value.GetDisplayName());
 }
コード例 #9
0
ファイル: StringSerializer.cs プロジェクト: jimu/pbem001
 public override string SerializeFormatted(string value, QuantumTheme theme)
 {
     return(value);
 }