예제 #1
0
        public override void RecursivelyResolve(Dictionary <string, DataDefinition> local, Dictionary <string, DataDefinition> global, Dictionary <string, Dictionary <string, DataDefinition> > referenceableDefinitions)
        {
            if (ResourceType != null)
            {
                var key = ResourceType.ToLower();

                Dictionary <string, DataDefinition> defs = null;
                if (local.ContainsKey(key))
                {
                    defs = local;
                }
                else if (global.ContainsKey(key))
                {
                    defs = global;
                }

                if (defs != null)
                {
                    var def = defs[key];
                    if (def.IsRootLevel)
                    {
                        ResourceDataType = def;
                        AllowedFileTypes.Clear();
                        AllowedFileTypes.Add(ResourceDataType.Extension);
                    }
                    else
                    {
                        Message.Show("Resource " + ResourceType + " is not a root level resource!", "Reference Resolve Failed", "Ok");
                    }
                }
                else
                {
                    Message.Show("Failed to find key " + ResourceType + "!", "Reference Resolve Failed", "Ok");
                }
            }

            base.RecursivelyResolve(local, global, referenceableDefinitions);
        }
예제 #2
0
        protected override void DoRecursivelyResolve(Dictionary <string, DataDefinition> local, Dictionary <string, DataDefinition> global, Dictionary <string, Dictionary <string, DataDefinition> > referenceableDefinitions)
        {
            if (ResourceType != null)
            {
                var key = ResourceType.ToLower();

                Dictionary <string, DataDefinition> defs = null;
                if (local.ContainsKey(key))
                {
                    defs = local;
                }
                else if (global.ContainsKey(key))
                {
                    defs = global;
                }

                if (defs != null)
                {
                    var def = defs[key];
                    if (def.IsRootLevel)
                    {
                        ResourceDataType = def;
                        AllowedFileTypes.Clear();
                        AllowedFileTypes.Add(ResourceDataType.Extension);
                    }
                    else
                    {
                        throw new Exception("Resource " + ResourceType + " is not a root level resource!");
                    }
                }
                else
                {
                    throw new Exception("Failed to find key " + ResourceType + "!");
                }
            }
        }