Skip to content

project3fusion/StarkMOBA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

StarkMOBA

StarkMoba is an server authoritative and both server & client side optimized MOBA Game Template.

About

Supported platforms

How to connect Starknet with StarkSharp

You can use StarkSharp to connect MOBA game to Starknet. If you want to learn how to install it, check StarkSharp Installation on Unity.

Example Connection:

  1. Create a new platform
Platform myNewPlatform = UnityPlatform.New(PlatformConnectorType.Sharpion);
  1. Create a new connector and add your platform to the connector
Connector connector = new Connector(myNewPlatform);
  1. Connect Wallet
  • ArgentX
connector.ConnectWallet(WalletType.ArgentX,
    (successMessage) => OnWalletConnectionSuccess(successMessage),
    (errorMessage) => OnWalletConnectionError(errorMessage));
  • Braavos
connector.ConnectWallet(WalletType.Braavos,
    (successMessage) => OnWalletConnectionSuccess(successMessage),
    (errorMessage) => OnWalletConnectionError(errorMessage));
  1. Create Actions
public void OnWalletConnectionSuccess(string message)
{
    connector.DebugMessage("On Wallet Connection Success: " + message);
}

public void OnWalletConnectionError(string message)
{
    connector.DebugMessage("On Wallet Connection Error: " + message);
}
  1. Send Transaction
connector.SendTransaction(
    ERC20Standart.TransferToken(sendTransactionContractAddress, sendTransactionRecipientAddress, amount),
    (successMessage) => OnSendTransactionSuccess(successMessage),
    (errorMessage) => OnSendTransactionError(errorMessage));
  • If you are wondering how to send a custom transaction, here is how you can do it:
ContractInteraction myContractInteraction = new ContractInteraction(_ContractAdress, _EntryPoint, _CallData);
connector.SendTransaction(
    myContractInteraction,
    (successMessage) => OnSendTransactionSuccess(successMessage),
    (errorMessage) => OnSendTransactionError(errorMessage));
  1. Call Contract
  • You need to use RPC Platform for Call Contract. In order to do this, create a new connector.
Platform myNewPlatform = UnityPlatform.New(PlatformConnectorType.RPC);
connector.CallContract(
    ERC20Standart.BalanceOf(callContractContractAddress, callOtherUserWalletAddress),
    (successMessage) => OnCallContractSuccess(successMessage),
    (errorMessage) => OnCallContractError(errorMessage));
  • If you want to send a custom query, here is the code:
ContractInteraction myContractInteraction = new ContractInteraction(_ContractAdress, _EntryPoint, _CallData);
connector.CallContract(
       myContractInteraction,
       (successMessage) => OnCallContractSuccess(successMessage),
       (errorMessage) => OnCallContractError(errorMessage)
    );

Contributors

Thanks to these amazing people for their contributions.

lastceri
lastceri

Developer
sektor7k
sektor7k

Developer
cannsky
cannsky

Developer

Releases

No releases published

Packages

No packages published

Languages