# NinetyEight.INEGdk

## Interface INEGdk <a href="#ninetyeight_inegdk" id="ninetyeight_inegdk"></a>

Namespace: NinetyEight\
Assembly: APIReference.dll

Interface for the Game Development Kit (GDK).\
Provides login, profile management, balance, and shop functionality.

```csharp
public interface INEGdk
```

### Methods

#### BuyShopPack(int, int, string, NEShopBuyCallback) <a href="#ninetyeight_inegdk_buyshoppack_system_int32_system_int32_system_string_ninetyeight_neshopbuycallback" id="ninetyeight_inegdk_buyshoppack_system_int32_system_int32_system_string_ninetyeight_neshopbuycallback"></a>

Attempts to buy a shop pack.

```csharp
void BuyShopPack(int packId, int amount, string currency, NEShopBuyCallback callback)
```

**Parameters**

`packId` [int](https://learn.microsoft.com/dotnet/api/system.int32)

`amount` [int](https://learn.microsoft.com/dotnet/api/system.int32)

`currency` [string](https://learn.microsoft.com/dotnet/api/system.string)

`callback` NEShopBuyCallback

#### CreateWallet() <a href="#ninetyeight_inegdk_createwallet" id="ninetyeight_inegdk_createwallet"></a>

Creates a new wallet and returns the generated seed phrase.

```csharp
string CreateWallet()
```

**Returns**

[string](https://learn.microsoft.com/dotnet/api/system.string)

#### GetAddress() <a href="#ninetyeight_inegdk_getaddress" id="ninetyeight_inegdk_getaddress"></a>

Gets the player's wallet address.

```csharp
string GetAddress()
```

**Returns**

[string](https://learn.microsoft.com/dotnet/api/system.string)

#### GetAuthToken() <a href="#ninetyeight_inegdk_getauthtoken" id="ninetyeight_inegdk_getauthtoken"></a>

Gets the current authentication token.

```csharp
string GetAuthToken()
```

**Returns**

[string](https://learn.microsoft.com/dotnet/api/system.string)

#### GetGameProfile() <a href="#ninetyeight_inegdk_getgameprofile" id="ninetyeight_inegdk_getgameprofile"></a>

Gets the player's game profile.

```csharp
NEGameProfile GetGameProfile()
```

**Returns**

NEGameProfile

#### GetProvider() <a href="#ninetyeight_inegdk_getprovider" id="ninetyeight_inegdk_getprovider"></a>

Gets the current authentication provider.

```csharp
string GetProvider()
```

**Returns**

[string](https://learn.microsoft.com/dotnet/api/system.string)

#### Initialize(NEInitCallback) <a href="#ninetyeight_inegdk_initialize_ninetyeight_neinitcallback" id="ninetyeight_inegdk_initialize_ninetyeight_neinitcallback"></a>

Initializes the GDK

```csharp
void Initialize(NEInitCallback callback)
```

**Parameters**

`callback` NEInitCallback

#### IsLoggedIn() <a href="#ninetyeight_inegdk_isloggedin" id="ninetyeight_inegdk_isloggedin"></a>

Returns whether the player is currently logged in.

```csharp
bool IsLoggedIn()
```

**Returns**

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

#### IsLoginCacheExpired() <a href="#ninetyeight_inegdk_islogincacheexpired" id="ninetyeight_inegdk_islogincacheexpired"></a>

Checks if login cache has expired or is missing.

```csharp
bool IsLoginCacheExpired()
```

**Returns**

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

#### LoginWithApple(NELoginCallback) <a href="#ninetyeight_inegdk_loginwithapple_ninetyeight_nelogincallback" id="ninetyeight_inegdk_loginwithapple_ninetyeight_nelogincallback"></a>

Logs in using Apple authentication.

```csharp
void LoginWithApple(NELoginCallback callback)
```

**Parameters**

`callback` NELoginCallback

#### LoginWithEmail(NELoginCallback) <a href="#ninetyeight_inegdk_loginwithemail_ninetyeight_nelogincallback" id="ninetyeight_inegdk_loginwithemail_ninetyeight_nelogincallback"></a>

Logs in using Email authentication.

```csharp
void LoginWithEmail(NELoginCallback callback)
```

**Parameters**

`callback` NELoginCallback

#### LoginWithFacebook(NELoginCallback) <a href="#ninetyeight_inegdk_loginwithfacebook_ninetyeight_nelogincallback" id="ninetyeight_inegdk_loginwithfacebook_ninetyeight_nelogincallback"></a>

Logs in using Facebook authentication.

```csharp
void LoginWithFacebook(NELoginCallback callback)
```

**Parameters**

`callback` NELoginCallback

#### LoginWithGoogle(NELoginCallback) <a href="#ninetyeight_inegdk_loginwithgoogle_ninetyeight_nelogincallback" id="ninetyeight_inegdk_loginwithgoogle_ninetyeight_nelogincallback"></a>

Logs in using Google authentication.

```csharp
void LoginWithGoogle(NELoginCallback callback)
```

**Parameters**

`callback` NELoginCallback

#### LoginWithPhrase(string, NELoginCallback) <a href="#ninetyeight_inegdk_loginwithphrase_system_string_ninetyeight_nelogincallback" id="ninetyeight_inegdk_loginwithphrase_system_string_ninetyeight_nelogincallback"></a>

Logs in using a seed phrase.

```csharp
void LoginWithPhrase(string phrase, NELoginCallback callback)
```

**Parameters**

`phrase` [string](https://learn.microsoft.com/dotnet/api/system.string)

`callback` NELoginCallback

#### LoginWithProvider(string, NELoginCallback) <a href="#ninetyeight_inegdk_loginwithprovider_system_string_ninetyeight_nelogincallback" id="ninetyeight_inegdk_loginwithprovider_system_string_ninetyeight_nelogincallback"></a>

Logs in using a specific provider (e.g., Google, Facebook).

```csharp
void LoginWithProvider(string provider, NELoginCallback callback)
```

**Parameters**

`provider` [string](https://learn.microsoft.com/dotnet/api/system.string)

`callback` NELoginCallback

#### LoginWithTelegram(NELoginCallback) <a href="#ninetyeight_inegdk_loginwithtelegram_ninetyeight_nelogincallback" id="ninetyeight_inegdk_loginwithtelegram_ninetyeight_nelogincallback"></a>

Logs in using Telegram authentication.

```csharp
void LoginWithTelegram(NELoginCallback callback)
```

**Parameters**

`callback` NELoginCallback

#### Logout() <a href="#ninetyeight_inegdk_logout" id="ninetyeight_inegdk_logout"></a>

Logs the user out of the system.

```csharp
void Logout()
```

#### RequestGameProfile(NEGameProfileCallback) <a href="#ninetyeight_inegdk_requestgameprofile_ninetyeight_negameprofilecallback" id="ninetyeight_inegdk_requestgameprofile_ninetyeight_negameprofilecallback"></a>

Requests the player's game profile from the server.

```csharp
void RequestGameProfile(NEGameProfileCallback callback)
```

**Parameters**

`callback` NEGameProfileCallback

#### RequestShopInfo(NEShopInfoCallback) <a href="#ninetyeight_inegdk_requestshopinfo_ninetyeight_neshopinfocallback" id="ninetyeight_inegdk_requestshopinfo_ninetyeight_neshopinfocallback"></a>

Requests available shop packs.

```csharp
void RequestShopInfo(NEShopInfoCallback callback)
```

**Parameters**

`callback` NEShopInfoCallback

#### RequestUserBalances(NEUserBalanceCallback) <a href="#ninetyeight_inegdk_requestuserbalances_ninetyeight_neuserbalancecallback" id="ninetyeight_inegdk_requestuserbalances_ninetyeight_neuserbalancecallback"></a>

Requests the player's balances from the server.

```csharp
void RequestUserBalances(NEUserBalanceCallback callback)
```

**Parameters**

`callback` NEUserBalanceCallback

#### RequestUserPets(NEUserPetCallback) <a href="#ninetyeight_inegdk_requestuserpets_ninetyeight_neuserpetcallback" id="ninetyeight_inegdk_requestuserpets_ninetyeight_neuserpetcallback"></a>

Requests the player's pet collection from the server.

```csharp
void RequestUserPets(NEUserPetCallback callback)
```

**Parameters**

`callback` NEUserPetCallback
