예제 #1
0
 public RegisterItemInstanceMessage(IItemInstance itemInstance)
 {
     if (itemInstance != null)
     {
         itemGuid           = itemInstance.ID;
         itemDefinitionGuid = itemInstance.itemDefinition.ID;
         serializedData     = "";                                                              // TODO: Set Serializable data
         itemInstanceAssemblyQualifiedTypeName = itemInstance.GetType().AssemblyQualifiedName; // TODO: Make lookup table for item types.
     }
     else
     {
         itemGuid           = Guid.Empty;
         itemDefinitionGuid = Guid.Empty;
         serializedData     = "";
         itemInstanceAssemblyQualifiedTypeName = "";
     }
 }
        private void DrawItemInfo(IItemInstance item)
        {
            if (item == null)
            {
                EditorGUILayout.LabelField("Collection not found...");
                return;
            }

            var col = item as IUnityItemInstance;

            EditorGUILayout.BeginVertical("box");

            EditorGUILayout.LabelField("Item: " + item, UnityEditor.EditorStyles.boldLabel);
            EditorGUILayout.LabelField("Guid: " + item.ID);
            EditorGUILayout.LabelField("Definition: " + item.itemDefinition.ID);
            EditorGUILayout.LabelField("Type: " + item.GetType().Name);

            if (col?.collectionEntry != null)
            {
                EditorGUILayout.LabelField("Amount: " + col.collectionEntry.amount + "/" + col.itemDefinition.maxStackSize);

                var unetCol = col.collectionEntry.collection as IUNetCollection;
                if (unetCol != null)
                {
                    EditorGUILayout.LabelField("Collection: " + unetCol.collectionName, UnityEditor.EditorStyles.boldLabel);

                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("Guid: " + unetCol.ID);

                    if (GUILayout.Button("Inspect collection", "minibutton", GUILayout.Width(130f)))
                    {
                        CollectionInspectorEditor.ShowWindow();
                        CollectionInspectorEditor.collectionNameOrGuid = unetCol.ID.ToString();
                    }

                    EditorGUILayout.EndHorizontal();
                }
            }

            EditorGUILayout.EndVertical();
        }