Ejemplo n.º 1
0
    public void AddIdentifyAbleFeedback(IIdentifyable identifyable)
    {
        Image image = identifyIcon.GetComponent <Image>();

        image.enabled = true;
        image.sprite  = identifyable.IdentifyableIcon;
        heightOffset  = identifyable.ElementHeightOffset;
    }
Ejemplo n.º 2
0
        private static uint GetIdInternal(IIdentifyable key)
        {
            if (!_ids.ContainsKey(key))
            {
                _ids.Add(key, _maxId++);
            }

            return(_ids[key]);
        }
Ejemplo n.º 3
0
        private static bool TryGet(uint id, out IIdentifyable result)
        {
            KeyValuePair <IIdentifyable, uint> possibleResult = _ids.FirstOrDefault(element => element.Value == id);

            result = possibleResult.Key;

            if (possibleResult.Value != id || possibleResult.Key == null)
            {
                return(false);
            }

            return(true);
        }
Ejemplo n.º 4
0
        private void AddToItemCache(IIdentifyable item)
        {
            var type = item.GetType();

            IDictionary <Guid, IIdentifyable> typeCache;

            if (!_itemCache.TryGetValue(type, out typeCache))
            {
                typeCache = new Dictionary <Guid, IIdentifyable>();
                _itemCache.Add(type, typeCache);
            }

            typeCache.Add(item.Id, item);
        }
Ejemplo n.º 5
0
        private void SerializeItem(IIdentifyable item)
        {
            var filePath = GetFilePath(item);

            using (var stream = new FileStream(filePath, FileMode.Create))
            {
                var itemContainer = new ItemContainer {
                    Item = item
                };

                AppendReferences(itemContainer);

                Serializer.Serialize(stream, itemContainer);
            }
        }
Ejemplo n.º 6
0
 private static string GetFileName(IIdentifyable item)
 {
     return(GetFileName(item.GetType(), item.Id));
 }
Ejemplo n.º 7
0
 private string GetFilePath(IIdentifyable item)
 {
     return(_path + @"\" + GetFileName(item));
 }
Ejemplo n.º 8
0
        public bool identify(double x, double y)
        {
            ILayer layer;
            IIdentifyable idLayer;

            if (mainForm.LayerListView.SelectedIndices.Count > 0)
            {
                layer = layerManager.getLayerFromMapping(mainForm.LayerListView.SelectedIndices[0]);

                if (layer is IIdentifyable)
                {
                    idLayer = layer as IIdentifyable;

                    // clear the old selection
                    if (selectionLayer != null)
                        selectionLayer.clearSelection();

                    if (idLayer != null)
                    {
                        selectionLayer = idLayer;

                        Cursor.Current = Cursors.WaitCursor;
                        if (!idLayer.IsIndexed) setStatus("Erstelle Layerindex...");
                        int[] results = idLayer.identify(x, y);

                        Cursor.Current = Cursors.Default;

                        if (results != null && results.Length != 0)
                        {
                            mainForm.setStatus_Timed(results.Length.ToString() + " Elemente gefunden", 3000);
                            return true;
                        }
                        else
                            mainForm.setStatus_Timed("Keine Elemente gefunden", 3000);
                    }
                }
            }
            else
            {
                mainForm.setStatus_Timed("Es wurde kein Layer ausgewählt!", 1000);
            }

            return false;
        }
Ejemplo n.º 9
0
 public static string GetKey(IIdentifyable pIdentifyable)
 {
     return(LOCAL_STORAGE_PREFIX + pIdentifyable.GetType().Name + pIdentifyable.Identifier);
 }
Ejemplo n.º 10
0
 public ValueTask SetValueAsync <T>(IIdentifyable pIdentifyable, T pValue)
 {
     return(mLocalStorage.SetItemAsync(GetKey(pIdentifyable), pValue));
 }
Ejemplo n.º 11
0
 public ValueTask <T> GetValueAsync <T>(IIdentifyable pIdentifyable)
 {
     return(mLocalStorage.GetItemAsync <T>(GetKey(pIdentifyable)));
 }