Skip to content

Instantly share code, notes, and snippets.

@0x070696E65
0x070696E65 / BlockDesirialize.cs
Created May 2, 2023 13:10
SymbolのCatupaltにあるdataにある.datファイルをデシリアライズする方法
string fileName = "./files/01100.dat";
var fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.None);
var data = new byte[fileStream.Length];
fileStream.Read(data, 0, data.Length);
var first8Bytes = data[0..8];
var offset = BitConverter.ToUInt64(first8Bytes);
var result = BlockFactory.Deserialize(Converter.BytesToHex(data[(int) offset..]));
Console.WriteLine(result);
Console.WriteLine(Converter.BytesToHex(result.Serialize()));
@0x070696E65
0x070696E65 / SignByCatSdk.cs
Last active May 2, 2023 13:19
CatSdkを使って署名する例
var source = @"
using System;
using CatSdk.Symbol;
using CatSdk.Utils;
using CatSdk.CryptoTypes;
public class SymbolSdk
{
public static Signature Sign(string message)
{
var keiPair = new KeyPair(new PrivateKey(""5DB8324E7EB83E7665D500B014283260EF312139034E86DFB7EE736503E*****""));
@0x070696E65
0x070696E65 / UseCatSdk.cs
Created May 2, 2023 10:53
CatSdkを使ったRoslynのサンプル
var source = @"
using System;
using CatSdk.Utils;
public class SymbolSdk
{
public static string Utf8ToHex(string message)
{
return Converter.Utf8ToHex(message);
}
}
@0x070696E65
0x070696E65 / IsBeyondBorder.cs
Created May 2, 2023 09:45
最大値とボーダーを渡してランダムな数値が超えるかどうか
using CatSdk.Symbol;
using CatSdk.Utils;
using System.Text.Json.Nodes;
using System.Runtime.Loader;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
var node = "https://hideyoshi.mydns.jp:3001";
async Task<string> GetDataFromApi(string _node, string _param)
using CatSdk.Utils;
using System.Text.Json.Nodes;
using System.Runtime.Loader;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
var node = "https://hideyoshi.mydns.jp:3001";
async Task<string> GetDataFromApi(string _node, string _param)
{
@0x070696E65
0x070696E65 / reflection2.cs
Created May 2, 2023 08:59
C#リフレクションメモ2
var source = @"
using System;
using System.Text;
using System.Runtime;
using System.Linq;
public class Test1
{
public static string Message(string message)
{
return message;
@0x070696E65
0x070696E65 / reflection.cs
Last active May 2, 2023 13:14
C#リフレクションメモ
var source = @"
using System;
using System.Collections.Generic;
public class MyRandom
{
public static Dictionary<string, int> GetRandomInt(int maxValue, string sig)
{
var random = new Random(sig.GetHashCode());
return new Dictionary<string, int>()
{
@0x070696E65
0x070696E65 / key_en.md
Created March 17, 2023 06:53
VoxelTopia Key (English)
Mouse&Keyboard Controller Action
WASD or ArrowKeys Left Stick Move Player
Mouse Right Stick Move Camera
Right Shift Press Right Stick Reset Camera
Space Button South Jump
Left Shift Press Left Stick Sprint
Mouse Left Click Left Trigger Place Voxel
Mouse Right Click Right Trigger Delete Voxel
1 key Left Shoulder Move left toolbar
@0x070696E65
0x070696E65 / key_jp.md
Created March 17, 2023 06:49
VoxelTopiaキー操作(日本語)
マウス&キーボード コントローラー 動作
WASD or 矢印キー 左スティック プレイヤー移動
マウス 右スティック カメラ移動
右シフトキー 右スティック押し込み カメラリセット
スペースキー 下ボタン(PSだと×) ジャンプ
左シフトキー 左スティック押し込み スプリントモード
マウス左クリック 左トリガー(PSだとL1) Voxelの配置
マウス右クリック 右トリガー(PSだとR1) Voxelの削除
1キー 左ショルダー(PSだとL2) ツールバー左移動