Пример #1
0
        public StorageElement(String group, String index, String data, iStorage storage)
        {
            m_group = group;
            m_index = index;
            m_data  = data;

            m_storage = storage;

            m_lastUseTime = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
        }
Пример #2
0
        public override void RegionLoaded(Scene scene)
        {
            base.Logger.Info("[" + Name + "]: Load region " + scene.Name);

            base.World = scene;

            if (m_storageTyp == "REGIONEXTRAS")
            {
                m_storage = new RegionExtras(base.World, m_config);
            }

            if (m_storageTyp == "FILESYSTEM")
            {
                m_storage = new FileSystem(base.World, m_config);
            }

            if (m_storageTyp == "MYSQL")
            {
                m_storage = new MySQL(base.World, m_config);
            }

            if (m_storageTyp == "REDIS")
            {
                m_storage = new Redis(base.World, m_config);
            }

            if (m_storageTyp == "MEMORY")
            {
                m_storage = new Memory();
            }

            if (m_storage == null)
            {
                m_storage = new Memory();
            }

            base.Logger.Info("[" + Name + "] Using '" + m_storageTyp + "' as Storage.");

            m_scriptModule = base.World.RequestModuleInterface <IScriptModuleComms>();
            if (m_scriptModule != null)
            {
                m_scriptModule.RegisterScriptInvocation(this, "osGetDataValue");
                m_scriptModule.RegisterScriptInvocation(this, "osSetDataValue");
                m_scriptModule.RegisterScriptInvocation(this, "osDeleteDataValue");
                m_scriptModule.RegisterScriptInvocation(this, "osCheckDataValue");

                m_scriptModule.RegisterScriptInvocation(this, "osGetPrivateDataValue");
                m_scriptModule.RegisterScriptInvocation(this, "osSetPrivateDataValue");
                m_scriptModule.RegisterScriptInvocation(this, "osDeletePrivateDataValue");
                m_scriptModule.RegisterScriptInvocation(this, "osCheckPrivateDataValue");
            }
        }