Esempio n. 1
0
        public override bool moveElementDown(DataControl dataControl)
        {
            bool elementMoved = false;
            int  elementIndex = itemsList.IndexOf((Item)dataControl.getContent());

            if (elementIndex < itemsList.Count - 1)
            {
                Item            e = itemsList[elementIndex];
                ItemDataControl c = itemsDataControlList[elementIndex];
                itemsList.RemoveAt(elementIndex);
                itemsDataControlList.RemoveAt(elementIndex);
                itemsList.Insert(elementIndex + 1, e);
                itemsDataControlList.Insert(elementIndex + 1, c);
                controller.DataModified();
                elementMoved = true;
            }

            return(elementMoved);
        }
Esempio n. 2
0
        protected override void DrawInspector()
        {
            workingItem = Target as ItemDataControl ?? Controller.Instance.SelectedChapterDataControl.getItemsList().getItems()[GameRources.GetInstance().selectedItemIndex];

            // Appearance table
            appearanceEditor.Data = workingItem;
            appearanceEditor.OnInspectorGUI();

            EditorGUI.BeginChangeCheck();

            string previousValue = image.Path = workingItem.getPreviewImage();

            image.DoLayout(GUILayout.ExpandWidth(true));
            if (previousValue != image.Path)
            {
                workingItem.setPreviewImage(image.Path);
            }

            previousValue = icon.Path = workingItem.getIconImage();
            icon.DoLayout(GUILayout.ExpandWidth(true));
            if (previousValue != icon.Path)
            {
                workingItem.setIconImage(icon.Path);
            }

            previousValue = image_over.Path = workingItem.getMouseOverImage();
            image_over.DoLayout(GUILayout.ExpandWidth(true));
            if (previousValue != image_over.Path)
            {
                workingItem.setMouseOverImage(image_over.Path);
            }

            if (EditorGUI.EndChangeCheck())
            {
                RefreshResources(workingItem);
            }
        }
        public override void Draw(int aID)
        {
            workingItem = Target as ItemDataControl ?? Controller.Instance.SelectedChapterDataControl.getItemsList().getItems()[GameRources.GetInstance().selectedItemIndex];


            // -------------
            // Documentation
            // -------------

            GUILayout.Label(TC.get("Item.Documentation"));
            EditorGUI.BeginChangeCheck();
            var fullItemDescription = GUILayout.TextArea(workingItem.getDocumentation() ?? string.Empty);

            if (EditorGUI.EndChangeCheck())
            {
                workingItem.setDocumentation(fullItemDescription);
            }


            // -------------
            // Descriptions
            // -------------
            descriptionsEditor.Descriptions = workingItem.getDescriptionController();
            descriptionsEditor.OnInspectorGUI();
            GUILayout.Space(20);

            // -------------
            // Drag & drop
            // -------------

            EditorGUILayout.LabelField(TC.get("Item.ReturnsWhenDragged.Title"));
            EditorGUI.BeginChangeCheck();
            var dragdropToogle = EditorGUILayout.Toggle(dragdropLabel, workingItem.isReturnsWhenDragged());

            if (EditorGUI.EndChangeCheck())
            {
                workingItem.setReturnsWhenDragged(dragdropToogle);
            }
            GUILayout.Space(20);

            // -------------
            // Behaviour
            // -------------
            EditorGUI.BeginChangeCheck();
            var selectedBehaviourType = EditorGUILayout.Popup(TC.get("Behaviour"), (int)workingItem.getBehaviour(), behaviourTypes.Select(bt => TC.get(bt)).ToArray());

            Item.BehaviourType type = (selectedBehaviourType == 0 ? Item.BehaviourType.NORMAL : Item.BehaviourType.FIRST_ACTION);
            if (EditorGUI.EndChangeCheck())
            {
                workingItem.setBehaviour(type);
            }
            EditorGUILayout.HelpBox(TC.get(behaviourTypesDescription[selectedBehaviourType]), MessageType.Info);
            GUILayout.Space(20);

            // -------------
            // Transition time
            // -------------
            EditorGUI.BeginChangeCheck();
            var transitionTime = Math.Max(EditorGUILayout.LongField(transitionLabel, workingItem.getResourcesTransitionTime()), 0);

            if (EditorGUI.EndChangeCheck())
            {
                workingItem.setResourcesTransitionTime(transitionTime);
            }
        }