12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- using Solana.Unity.Bolt.Test;
- using Solana.Unity.Rpc.Models;
- using Solana.Unity.Wallet;
- using Solana.Unity.Bolt;
- using Solana.Unity.Rpc;
- using System;
- using System.Threading.Tasks;
- using Solana.Unity.Wallet.Bip39;
- using World.Program;
- using System.Diagnostics;
- using Solana.Unity.Rpc.Types;
- namespace AccelerationTest {
- public class Test {
- public static async Task Run(Framework framework) {
- await Profiler.Run("AddAccelerationEntity", async () => {
- await AddAccelerationEntity(framework);
- });
- await Profiler.Run("InitializePositionComponentOnAccelerationEntity", async () => {
- await InitializePositionComponentOnAccelerationEntity(framework);
- });
- await Profiler.Run("DelegateComponent", async () => {
- await DelegateComponent(framework);
- });
- await Profiler.Run("ApplySimpleMovementSystemOnAccelerator 10", async () => {
- await ApplySimpleMovementSystemOnAccelerator(framework);
- });
- }
- public static async Task AddAccelerationEntity(Framework framework) {
- var addEntity = await Bolt.World.AddEntity(framework.Client, framework.WorldPda, framework.Wallet.Account.PublicKey, Commitment.Processed);
- framework.AccelerationEntityPda = addEntity.Pda;
- await framework.SendAndConfirmInstruction(addEntity.Instruction);
- }
- public static async Task InitializePositionComponentOnAccelerationEntity(Framework framework) {
- var initializeComponent = await Bolt.World.InitializeComponent(framework.Wallet.Account.PublicKey, framework.AccelerationEntityPda, framework.ExampleComponentPosition);
- framework.AccelerationComponentPositionPda = initializeComponent.Pda;
- await framework.SendAndConfirmInstruction(initializeComponent.Instruction);
- }
- public static async Task DelegateComponent(Framework framework) {
- var delegateComponent = await Bolt.World.DelegateComponent(framework.Wallet.Account.PublicKey, framework.AccelerationEntityPda, framework.ExampleComponentPosition);
- await framework.SendAndConfirmInstruction(delegateComponent.Instruction);
- }
- public static async Task ApplySimpleMovementSystemOnAccelerator(Framework framework) {
- for (int i = 0; i < 10; i++) {
- var apply = new ApplyAccounts() {
- Authority = framework.Wallet.Account.PublicKey,
- BoltSystem = framework.SystemSimpleMovement,
- World = framework.WorldPda,
- };
- var instruction = WorldProgram.Apply(apply, Bolt.World.SerializeArgs(new { direction = "Up" }));
- instruction.Keys.Add(AccountMeta.ReadOnly(framework.ExampleComponentPosition, false));
- instruction.Keys.Add(AccountMeta.Writable(framework.AccelerationComponentPositionPda, false));
- await framework.SendAndConfirmInstruction(framework.AcceleratorClient, instruction);
- await Task.Delay(50);
- }
- }
- }
- }
|