Skip to content

Instantly share code, notes, and snippets.

View sokuhatiku's full-sized avatar

Sokuhatiku sokuhatiku

View GitHub Profile
@sokuhatiku
sokuhatiku / 12 to 12 balancer.spz2bp
Last active August 22, 2024 16:07
12 to 12 Belt Balancer for Shapez2 (on 2x1platform)
SHAPEZ2-1-H4sIALjbx2YA/6xdf2scyRH9Lkv+VI7p1z2/BPdHHCdgojuM7BwJwRx79voioluZ9eoOY/TdI0s70szO7O70e88GG2NVTVVPTXdVdVW9r4ufFuehaMuzxYvXi/Oviz9tv3xaLc4Xrz5fL9cfFmeLV+9v1t/+4+Vyu1yc/2dxdf/v8+vll5vb7XcXD3/9/OPN5rfl9c+4/+mH//3l9ur6w9X61+9+WG1+XW3evvnv8tPqp+Xmarnedj/z4+1vv6w2YfhPLN7dnS3+tt5urlaf7x/2dfHvxfmfw9ni8l7Is8Xbe7nGj3zRF/vF7tGHBH99vdx+vKf9vDhb315fP/6x+PxNwPPL28ffIyH+tThvz76JggdJ4qMkL1bX29c3m+2b1frDavNqvV1t1svrZzX/ev8z//jLw6/vF3dnD2xCYeIT3HwuHlbYpZ2DW2sVra8orIrCqajMrPEYRuNc/MavYHpm8HL1cXl7vb1YfdzucxgscJlPkvaF3RH+/Wbzx3Lz4QDtk4QXT7tWppwcYZp+W9kyg5UZrMygZK4eOIT2gRiZxGWfePfkx+MKb2/CxR7VD1ebzc1m9WH86KcV5wXYf2mkGNDFACdG3V/LneG++XR9tb2nCm9vMJ/+aSlULmC5PH4IoTlql0fMun6if34Z3fMfHaGThPsmlU8Olrwaq31s8SapA0+dR1f26WbtPfsvuxzLrfMBz6ea0OjwZzim2tcikxZ5tLtPpVTP8jA68SQ+4PnUA4360ctx0x0okEuG2WTVE9nlSM3L1fvV1e+HFL3X8fsxlymjF3hB41X2tcs+g8qxVhoP7SxM4imWLGdh0s7Csq9LFDbGlHuaHuUTeD7VhEbzP7x0yLjmEyOTePcia8pBfiam44IBC8lNr6cCv+ydpj4ckZK8oPFqDvquF1cft+Gfn14s3//vZOB1zO27/1LjceKJRXl4+MubP9azH385M+acdphpf/mRvB7JPnPhmvG6k+ITC9/uv27Mfd2F7OsUJp+pUH
float3 RaycastSphere(float3 origin, float3 direction, out float hit)
{
float radius = _HoleRadius;
float3 holeOrigin = _HoleOffset;
float3 toCenter = holeOrigin - origin;
if (SqrLength(toCenter) <= pow(radius, 2))
{
hit = 1;
return origin;
using UnityEngine;
using UnityEditor;
public class AssetTypeCheckerWindow : EditorWindow
{
Object obj;
string msg;
[MenuItem("Window/AssetType Checker")]
static void Init()
#if UNITY_EDITOR
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
namespace Sokuhatiku.TunnelShader
{
public class TunnelMeshCompressor : EditorWindow
{
private const string Name = "Tunnel Mesh Complesser";
@sokuhatiku
sokuhatiku / HideFlags for Spreadsheet.md
Last active June 2, 2019 12:34
UnityEngine.HideFlags Checker
= TEXTJOIN(" | ", TRUE, IF($F2 = 0, "HideFlags.None", ""), IF(BITAND($F2, 1) = 1, "HideFlags.HideInHierarchy", ""), IF(BITAND($F2, 2) = 2, "HideFlags.HideInInspector", ""), IF(BITAND($F2, 4) = 4, "HideFlags.DontSaveInEditor", ""), IF(BITAND($F2, 8) = 8, "HideFlags.NotEditable", ""), IF(BITAND($F2, 16) = 16, "HideFlags.DontSaveInBuild", ""), IF(BITAND($F2, 32) = 32, "HideFlags.DontUnloadUnusedAsset", ""), IF(BITAND($F2, 52) = 52, "HideFlags.DontSave", ""), IF(BITAND($F2, 61) = 61, "HideFlags.HideAndDontSave", ""))
public static IEnumerable<Object> LoadAssetsFromPathWithSubAssets(this IEnumerable<string> paths)
{
foreach (var path in paths)
{
var assets = AssetDatabase.LoadAllAssetsAtPath(path);
if (assets == null || assets.Length == 0)
{
yield return AssetDatabase.LoadAssetAtPath<Object>(path);
yield break;
}
@sokuhatiku
sokuhatiku / Info.cs
Created April 30, 2019 08:28
VitDeck GUI flow
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace VitDeck.Main
{
public class Info
{
public static event Action<Info> OnInstantiated;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using UnityEditor;
using UnityEngine;
using UnityEngine.Networking;
public class PackageDownloadTest : EditorWindow
{
@sokuhatiku
sokuhatiku / config.yaml
Last active January 25, 2023 10:45
Verdaccio for Unitypackage
#
# This is the default config file. It allows all users to do anything,
# so don't use it on production systems.
#
# Look here for more config file examples:
# https://github.com/verdaccio/verdaccio/tree/master/conf
#
# path to a directory with all packages
storage: ./storage
@sokuhatiku
sokuhatiku / DrawScriptAndEditorField.cs
Created February 7, 2017 07:11
Draw "Script" field and "Editor" field.
EditorGUI.BeginDisabledGroup(true);
EditorGUILayout.ObjectField("Script", MonoScript.FromMonoBehaviour((MonoBehaviour)target), typeof(MonoScript), false);
EditorGUILayout.ObjectField("Editor", MonoScript.FromScriptableObject(this), typeof(MonoScript), false);
EditorGUI.EndDisabledGroup();