예제 #1
0
        private Dictionary <string, string> ProcessingDelete(UniqueIdentifier id, ObserverObjectSetting objectSetting)
        {
            Dictionary <string, string> filesDeleted = new Dictionary <string, string>();

            WriteDebug("Retrieve delete " + id.Value);

            var obj = observedObjects.Where(o => o.ObjectID == id).FirstOrDefault();

            if (obj == null)
            {
                WriteVerbose("Target is not observed. Delete Request will be skipped.");
                return(filesDeleted);
            }

            ObjectSetting converterSetting = GetObjectSetting(obj, RMConverterSetting);

            foreach (string s in Converter.GetSerializedFiles(
                         obj,
                         converterSetting,
                         RMObserverSetting.ExportDirectory,
                         objectSetting.AttributeSeparations))
            {
                if (File.Exists(s))
                {
                    File.Delete(s);
                    filesDeleted.Add(s, "Deleted");
                }
            }

            observedObjects.Remove(obj);
            return(filesDeleted);
        }
예제 #2
0
        public static void Init()
        {
            _objectSetting = new ObjectSetting();

            ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
            IConfigurationRoot   configurationRoot    = null;
            string path = Path.Combine(Directory.GetCurrentDirectory(), "appsettings.json");

            configurationBuilder.AddJsonFile(path, false);
            configurationRoot = configurationBuilder.Build();

            _objectSetting.originRequest            = configurationRoot.GetSection("GlobalSettings").GetSection("OriginRequest").Value;
            _objectSetting.jwtSecret                = configurationRoot.GetSection("GlobalSettings").GetSection("jwtSecret").Value;
            _objectSetting.conectionStringSqlServer = configurationRoot.GetConnectionString("connectionStringSqlServer");
        }
        /// <inheritdoc/>
        public Setting <T> Fetch <T>(string key, T defaultValue, FilterValue <T> filter)
        {
            var settingWithoutType = this.LookupSettingWithoutType(key);
            var setting            = settingWithoutType as Setting <T>;

            if (settingWithoutType == null)
            {
                // Cannot define new settings if store has been sealed!
                this.CheckSealed();

                var settingType = typeof(T);

                if (settingType.IsEnum)
                {
                    setting = new EnumSetting <T>(this, key, defaultValue, filter);
                }
                else if (settingType.IsClass)
                {
                    setting = new ObjectSetting <T>(this, key, defaultValue, filter);
                }
                else
                {
                    setting = new Setting <T>(this, key, defaultValue, filter);
                }

                this._settings[key] = setting;

                this.Manager.Adapter.LoadSetting(setting);
            }
            else
            {
                // Does existing setting match signature of one which is being defined?
                if (setting == null)
                {
                    throw new InvalidOperationException(string.Format("Setting '{0}' has already been defined with a different value type.", key));
                }
                if (!setting.Equals(setting.DefaultValue, defaultValue))
                {
                    throw new InvalidOperationException(string.Format("Setting '{0}' has already been defined with a different default value.", key));
                }
                if (setting._filter != filter)
                {
                    throw new InvalidOperationException(string.Format("Setting '{0}' has already been defined with a different filter.", key));
                }
            }

            return(setting);
        }
예제 #4
0
        private Dictionary <string, string> ProcessingCreate(ResourceObject obj, ObserverObjectSetting observerObjectSetting)
        {
            WriteDebug("Retrieve create " + obj.ObjectID.Value);
            if (IsFiltered(obj, observerObjectSetting))
            {
                WriteVerbose(String.Format("Create Request of Target type {0} with ID {1} is filtered by ObserverObjectSetting.", obj.ObjectTypeName, obj.ObjectID.Value));
                return(new Dictionary <string, string>());
            }

            ObjectSetting converterSetting = GetObjectSetting(obj, RMConverterSetting);
            ConfigFile    configFile       = Converter.ConvertToRMConfig(obj, RMConverterSetting);

            List <string> filesExported = Converter.SerializeConfigFile(
                configFile,
                observerObjectSetting.AttributeSeparations,
                Converter.GetFilePath(obj, converterSetting, RMObserverSetting.ExportDirectory)
                );

            observedObjects.Add(obj);
            return(filesExported.ToDictionary(k => k, v => "Added"));
        }
예제 #5
0
    private void CheckCurrentLevelPrefab(PrefabLevel prefabLevel)
    {
        if (0 >= prefabLevel.prefab.Length)
        {
            Debug.Log("沒有設定關卡預製物件");
            return;
        }

        if (m_index < prefabLevel.prefab.Length)
        {
            float nextReadltime = prefabLevel.prefab[m_index].realtimeStartup;
            if (nextReadltime < Time.realtimeSinceStartup)
            {
                ObjectSetting setting = prefabLevel.prefab[m_index];
                setting       = prefabLevel.prefab[m_index];
                nextReadltime = setting.realtimeStartup;
                m_prefab      = setting.prefab;
                m_waitTime    = setting.waitTime;
                m_index++;
            }
        }
    }
 public ViewObjectSetting(ObjectSetting objectSetting)
 {
     _objectSetting = objectSetting;
 }
 public ViewObjectSetting(ObjectSetting objectSetting, BitmapSource sourcePreview)
 {
     _objectSetting = objectSetting;
     _sourcePreview = sourcePreview;
     _croppedPreview = _sourcePreview.Crop(_objectSetting.ScaleRect);
 }