示例#1
0
        private void RemoveObjectRef(RoomObject obj)
        {
            string id = GetItemID(obj);

            RoomItemRefs.Remove(id);
            DesignItems.Remove(id);
        }
示例#2
0
        private void UpdateCharacterRef(Character c, string oldID)
        {
            if (!RoomItemRefs.ContainsKey(oldID))
            {
                return;
            }
            string newID = GetItemID(c);

            // If the new key is also present that means we are swapping two items
            if (RoomItemRefs.ContainsKey(newID))
            {
                var char2 = RoomItemRefs[newID];
                RoomItemRefs.Remove(newID);
                RoomItemRefs.Remove(oldID);
                RoomItemRefs.Add(newID, c);
                RoomItemRefs.Add(oldID, char2);
                // We must keep DesignTimeProperties!
                var char1Item = DesignItems[oldID];
                var char2Item = DesignItems[newID];
                DesignItems.Remove(newID);
                DesignItems.Remove(oldID);
                DesignItems.Add(newID, char1Item);
                DesignItems.Add(oldID, char2Item);
            }
            else
            {
                RoomItemRefs.Remove(oldID);
                RoomItemRefs.Add(newID, c);
                // We must keep DesignTimeProperties!
                DesignItems.Add(newID, DesignItems[oldID]);
                DesignItems.Remove(oldID);
            }
        }
示例#3
0
        private void RemoveCharacterRef(Character c)
        {
            string id = GetItemID(c);

            RoomItemRefs.Remove(id);
            DesignItems.Remove(id);
        }
示例#4
0
        public string GetItemName(string id)
        {
            int area;

            if (id != null && RoomItemRefs.TryGetValue(id, out area))
            {
                return(GetValidItemName(area));
            }
            return(null);
        }
示例#5
0
        public string GetItemName(string id)
        {
            RoomObject obj;

            if (id != null && RoomItemRefs.TryGetValue(id, out obj))
            {
                return(obj.PropertyGridTitle);
            }
            return(null);
        }
示例#6
0
        public string GetItemName(string id)
        {
            Character character;

            if (id != null && RoomItemRefs.TryGetValue(id, out character))
            {
                return(character.ScriptName);
            }
            return(null);
        }
示例#7
0
        public string GetItemName(string id)
        {
            SelectedEdge edge;

            if (id != null && RoomItemRefs.TryGetValue(id, out edge))
            {
                return(edge.ToString());
            }
            return(null);
        }
示例#8
0
        private void AddObjectRef(RoomObject obj)
        {
            string id = GetItemID(obj);

            if (RoomItemRefs.ContainsKey(id))
            {
                return;
            }
            RoomItemRefs.Add(id, obj);
            DesignItems.Add(id, new DesignTimeProperties());
        }
示例#9
0
        private void AddCharacterRef(Character c)
        {
            string id = GetItemID(c);

            if (RoomItemRefs.ContainsKey(id))
            {
                return;
            }
            RoomItemRefs.Add(id, c);
            DesignItems.Add(id, new DesignTimeProperties());
        }
示例#10
0
        public void SelectItem(string id)
        {
            int area;

            if (id != null && RoomItemRefs.TryGetValue(id, out area))
            {
                _selectedArea = area;
                SelectedAreaChanged(area);
                return;
            }
            Factory.GUIController.SetPropertyGridObject(_room);
        }
示例#11
0
        public void SelectItem(string id)
        {
            SelectedEdge edge;

            if (id == null || !RoomItemRefs.TryGetValue(id, out edge))
            {
                _selectedEdge = SelectedEdge.None;
                return;
            }
            _selectedEdge     = edge;
            _lastSelectedEdge = _selectedEdge;
        }
示例#12
0
        private void UpdateObjectRef(RoomObject obj, string oldID)
        {
            if (!RoomItemRefs.ContainsKey(oldID))
            {
                return;
            }
            string newID = GetItemID(obj);

            RoomItemRefs.Remove(oldID);
            RoomItemRefs.Add(newID, obj);
            // We must keep DesignTimeProperties!
            DesignItems.Add(newID, DesignItems[oldID]);
            DesignItems.Remove(oldID);
        }
示例#13
0
        private void UpdateCharacterRef(Character c, string oldID)
        {
            if (!RoomItemRefs.ContainsKey(oldID))
            {
                return;
            }
            string newID = GetItemID(c);

            RoomItemRefs.Remove(oldID);
            RoomItemRefs.Add(newID, c);
            // We must keep DesignTimeProperties!
            DesignItems.Add(newID, DesignItems[oldID]);
            DesignItems.Remove(oldID);
        }
示例#14
0
        public void SelectItem(string id)
        {
            if (id != null)
            {
                RoomObject obj;
                if (RoomItemRefs.TryGetValue(id, out obj))
                {
                    _selectedObject = obj;
                    Factory.GUIController.SetPropertyGridObject(obj);
                    return;
                }
            }

            _selectedObject = null;
            Factory.GUIController.SetPropertyGridObject(_room);
        }
示例#15
0
        public void SelectItem(string id)
        {
            if (id != null)
            {
                Character character;
                if (RoomItemRefs.TryGetValue(id, out character))
                {
                    _selectedCharacter = character;
                    Factory.GUIController.SetPropertyGridObject(character);
                    return;
                }
            }

            _selectedCharacter = null;
            Factory.GUIController.SetPropertyGridObject(_room);
        }