DataStorageService

다양한 DataStorage 접근 기능을 제공합니다.

# Methods

[{"index":"int32 DeleteCreatorDataStorageAndWait() (ServerOnly) (Yield)","0":"CreatorDataStorage를 삭제하고, 에러 코드를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다."}]

[{"index":"int32 DeleteCreatorDataStorageAndWait(string name) (ServerOnly) (Yield)","0":"특정 이름의 CreatorDataStorage를 삭제하고, 에러 코드를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다."}]

[{"index":"void DeleteCreatorDataStorageAsync(func callbackFunction) (ServerOnly)","0":"CreatorDataStorage를 삭제합니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드와 함께 callbackFunction으로 전달된 함수가 호출됩니다."}]

[{"index":"void DeleteCreatorDataStorageAsync(string name, func callbackFunction) (ServerOnly)","0":"특정 이름의 CreatorDataStorage를 삭제합니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, CreatorDataStorage의 이름과 함께 callbackFunction으로 전달된 함수가 호출됩니다."}]

[{"index":"int32 DeleteGlobalDataStorageAndWait(string name) (ServerOnly) (Yield)","0":"특정 이름의 GlobalDataStorage를 삭제하고, 에러 코드를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다."}]

[{"index":"void DeleteGlobalDataStorageAsync(string name, func callbackFunction) (ServerOnly)","0":"특정 이름의 GlobalDataStorage를 삭제합니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, GlobalDataStorage의 이름과 함께 callbackFunction으로 전달된 함수가 호출됩니다."}]

[{"index":"int32 DeleteSortableDataStorageAndWait(string name) (ServerOnly) (Yield)","0":"특정 이름의 SortableDataStorage를 삭제하고, 에러 코드를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다."}]

[{"index":"void DeleteSortableDataStorageAsync(string name, func callbackFunction) (ServerOnly)","0":"특정 이름의 SortableDataStorage를 삭제합니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, SortableDataStorage의 이름과 함께 callbackFunction으로 전달된 함수가 호출됩니다."}]

[{"index":"int32 DeleteUserDataStorageAndWait(string userId) (ServerOnly) (Yield)","0":"userId에 해당하는 UserDataStorage를 삭제하고, 에러 코드를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다."}]

[{"index":"void DeleteUserDataStorageAsync(string userId, func callbackFunction) (ServerOnly)","0":"userId에 해당하는 UserDataStorage를 삭제합니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, userId와 함께 callbackFunction으로 전달된 함수가 호출됩니다."}]

[{"index":"string GetAndWait(string storageName, string key) (Deprecated) (ServerOnly) (Yield)","0":"더는 사용하지 않는 함수입니다. 각 DataStorage의 GetAndWait() 함수를 사용하세요."}]

[{"index":"void GetAsync(string storageName, string key, func callbackFunction) (Deprecated) (ServerOnly)","0":"더는 사용하지 않는 함수입니다. 각 DataStorage의 GetAsync() 함수를 사용하세요."}]

[{"index":"CreatorDataStorage GetCreatorDataStorage() (ServerOnly)","0":"CreatorDataStorage를 얻어옵니다."}]

[{"index":"CreatorDataStorage GetCreatorDataStorage(string name) (ServerOnly)","0":"특정 이름의 CreatorDataStorage를 얻어옵니다."}]

[{"index":"int32, CreatorDataStoragePages GetCreatorDataStoragePagesAndWait() (ServerOnly) (Yield)","0":"CreatorDataStorage를 페이지 단위로 조회합니다. 작업이 완료되면 에러 코드와 조회용 객체를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다."}]

[{"index":"void GetCreatorDataStoragePagesAsync(func callbackFunction) (ServerOnly)","0":"CreatorDataStorage를 페이지 단위로 조회합니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 조회용 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다."}]

[{"index":"DataStorage GetDataStorage(string name) (Deprecated) (ServerOnly)","0":"더는 사용하지 않는 함수입니다. 용도에 맞게 GetGlobalDataStorage(string), GetUserDataStorage(string), GetCreatorDataStorage(), GetSortableDataStorage(string) 함수 중 하나를 사용하세요."}]

[{"index":"GlobalDataStorage GetGlobalDataStorage(string name) (ServerOnly)","0":"특정 이름의 GlobalDataStorage를 얻어옵니다."}]

[{"index":"int32, GlobalDataStoragePages GetGlobalDataStoragePagesAndWait() (ServerOnly) (Yield)","0":"GlobalDataStorage를 페이지 단위로 조회합니다. 작업이 완료되면 에러 코드와 조회용 객체를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다."}]

[{"index":"void GetGlobalDataStoragePagesAsync(func callbackFunction) (ServerOnly)","0":"GlobalDataStorage를 페이지 단위로 조회합니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 조회용 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다."}]

[{"index":"SortableDataStorage GetSortableDataStorage(string name) (ServerOnly)","0":"특정 이름의 SortableDataStorage를 얻어옵니다."}]

[{"index":"int32, SortableDataStoragePages GetSortableDataStoragePagesAndWait() (ServerOnly) (Yield)","0":"SortableDataStorage를 페이지 단위로 조회합니다. 작업이 완료되면 에러 코드와 조회용 객체를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다."}]

[{"index":"void GetSortableDataStoragePagesAsync(func callbackFunction) (ServerOnly)","0":"SortableDataStorage를 페이지 단위로 조회합니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 조회용 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다."}]

[{"index":"UserDataStorage GetUserDataStorage(string userId) (ServerOnly)","0":"특정 유저용 UserDataStorage를 얻어옵니다."}]

[{"index":"int32, UserDataStoragePages GetUserDataStoragePagesAndWait() (ServerOnly) (Yield)","0":"UserDataStorage를 페이지 단위로 조회합니다. 작업이 완료되면 에러 코드와 조회용 객체를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다."}]

[{"index":"void GetUserDataStoragePagesAsync(func callbackFunction) (ServerOnly)","0":"UserDataStorage를 페이지 단위로 조회합니다. 이 작업은 비동기로 수행되며, 작업이 완료되면 에러 코드, 조회용 객체와 함께 callbackFunction으로 전달된 함수가 호출됩니다."}]

[{"index":"boolean SetAndWait(string storageName, string key, string value) (Deprecated) (ServerOnly) (Yield)","0":"더는 사용하지 않는 함수입니다. 용도에 맞는 DataStorage의 SetAndWait() 함수를 사용하세요."}]

[{"index":"void SetAsync(string storageName, string key, string value, func callbackFunction) (Deprecated) (ServerOnly)","0":"더는 사용하지 않는 함수입니다. 용도에 맞는 DataStorage의 SetAsync() 함수를 사용하세요."}]

##### inherited from Service:

[{"index":"EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)","0":"이벤트를 연결합니다. 이 서비스에서 타입의 이름이 key인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다."}]

[{"index":"EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)","0":"이벤트를 연결합니다. 이 서비스에서 타입이 eventType인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다."}]

[{"index":"boolean DisconnectEvent(string key, EventHandlerBase eventHandler)","0":"타입의 이름이 key인 이벤트와 핸들러와의 이벤트 연결을 끊습니다."}]

[{"index":"boolean DisconnectEvent(Type eventType, EventHandlerBase eventHandler)","0":"타입이 eventType인 이벤트와 핸들러와의 연결을 끊습니다."}]

[{"index":"void SendEvent(EventType sendEvent)","0":"이벤트를 발생시킵니다."}]

# Examples

#### GetGlobalDataStorage

DataStorageService를 활용해서 GlobalDataStorage를 가져오는 예제입니다.
    
    
    @Component
    script GlobalStorageInitializer extends Component
        @ExecSpace("ServerOnly")
        method void OnBeginPlay()
            local sampleStorage = _DataStorageService:GetGlobalDataStorage("sampleStorage")
        end
    end
    

#### GetGlobalDataStoragePagesAsync

DataStorageService를 활용해서 모든 GlobalDataStorage를 제거하는 예제입니다.
    
    
    @Component
    script GlobalDataPurger extends Component
        @ExecSpace("ServerOnly")
        method void OnBeginPlay()
            _DataStorageService:GetGlobalDataStoragePagesAsync(function(errorCode, pages)
            if errorCode ~= 0 then
            	return
            end
            
            while true do
            	local dataStorages = pages:GetCurrentPageDatas()
            
            	for i, dataStorage in ipairs(dataStorages) do
            		_DataStorageService:DeleteGlobalDataStorageAndWait(dataStorage.Name)
            	end
            
            	if pages.IsLastPage == true then
            		break
            	end
            
            	pages:MoveToNextPageAndWait()
            	end
            end)
        end
    end
    

# SeeAlso

  * DataStorageItem
  * DataStorageItemPages
  * DataStorageKeyInfo
  * DataStorageVersionPages
  * DateTime
  * GlobalDataStorage
  * GlobalDataStoragePages
  * SortableDataStorage
  * SortableDataStorageItem
  * SortableDataStorageItemPages
  * SortableDataStoragePages
  * UserDataStorage
  * UserDataStoragePages
  * [Data DB 저장 및 불러오기](/docs?postId=68)
  * [DataStorage 활용하기](/docs?postId=692)