Skip to content

Instantly share code, notes, and snippets.

View zhaoguohao's full-sized avatar
🚩
🐬

zhaoguohao

🚩
🐬
  • SkyStar Studio
  • YeShan Planet Earth
View GitHub Profile
@yasirkula
yasirkula / SnapRectTransformAnchorsToCorners.cs
Created May 28, 2024 18:20
Snap a RectTransform's anchors to its corner points in Unity
using UnityEditor;
using UnityEngine;
public class SnapRectTransformAnchorsToCorners : MonoBehaviour
{
[MenuItem("CONTEXT/RectTransform/Snap Anchors To Corners", priority = 50)]
private static void Execute(MenuCommand command)
{
RectTransform rectTransform = command.context as RectTransform;
RectTransform parent = rectTransform.parent as RectTransform;
@unitycoder
unitycoder / CustomThumbnail.cs
Created April 7, 2024 09:18
Save Thumbnails for Scenes (unity editor script)
using System.IO;
using UnityEditor;
using UnityEngine;
namespace UnityLibrary
{
[CustomEditor(typeof(SceneAsset))]
public class CustomThumbnail : Editor
{
public override bool HasPreviewGUI() => true;
@yasirkula
yasirkula / BenchmarkEnterPlayMode.cs
Last active October 7, 2024 12:27
Calculate the time it takes to enter/exit play mode in Unity editor
using UnityEditor;
using UnityEngine;
public class BenchmarkEnterPlayMode
{
[InitializeOnLoadMethod]
private static void Initialize()
{
void OnPlayModeStateChanged( PlayModeStateChange state )
{
@yasirkula
yasirkula / SceneViewUIObjectPickerContextWindow.cs
Last active May 6, 2025 17:32
Select the UI object under the cursor via right click in Unity's Scene window
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Text;
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;
#if UNITY_2021_2_OR_NEWER
using PrefabStage = UnityEditor.SceneManagement.PrefabStage;
using PrefabStageUtility = UnityEditor.SceneManagement.PrefabStageUtility;
@SH42913
SH42913 / in_bench.cs
Last active January 16, 2024 16:28
Benchmarking of in modifier in C#
private const int CallDepth = 300;
public static class MorpehExt
{
public static float DoGetterExt(this in MorpehBaseContext.Component3 c3) => c3.Value1 * c3.Value2;
}
public struct Component1
{
public int Value;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using Random = System.Random;
// This source code is used for the video. It obviously requires heavy alterations to be used in a real project.
public class ExampleGrid : MonoBehaviour
{
[SerializeField] private Vector2Int _size;
[SerializeField] private Vector2 _gap;
@zhangjiequan
zhangjiequan / Dump Lua Stack using C or C# In Unity Tolua#
Last active May 31, 2024 13:11
Dump Lua Stack using C/C# In Unity Tolua#
//Call_StackDumper_Example.cs
protected void OpenFP64()
{
luaState.OpenLibs(LuaDLL.luaopen_fp64);
StackDumper.StackDump(luaState);//加这句,dump出当前Lua虚拟栈
luaState.LuaSetField(-3, "fp64");
StackDumper.StackDump(luaState);//加这句,dump出当前Lua虚拟栈
}
@xavierarpa
xavierarpa / unity-generate-uml.yml
Last active September 13, 2023 02:34
C# to UML Diagram
name: Generate UML
on:
push:
branches:
- master
workflow_dispatch:
jobs:
generate-uml:
name: 'Generate UML'
@xavierarpa
xavierarpa / PackageCreator.cs
Last active May 27, 2024 06:35
Folder to package.tgz
#if UNITY_EDITOR
using System.IO;
using UnityEditor;
using UnityEditor.PackageManager;
using UnityEditor.PackageManager.Requests;
public static class PackageCreator
{
public static void CreateTgzPackage(string packagePath, string sourcePath)
{
PackRequest packRequest = Client.Pack(sourcePath, packagePath);
@builder-main
builder-main / AnimatorExtensions
Last active January 17, 2023 05:14 — forked from pazzaar/AnimatorExtensions
Animator rebind function that also maintains some state
public static class AnimatorExtensions
{
public static AnimatorParametersState SaveState(this Animator anim)
{
List<AnimatorStateInfo> animStates = new List<AnimatorStateInfo>();
for (int i = 0; i < anim.layerCount; i++)
{
animStates.Add(anim.GetCurrentAnimatorStateInfo(i));
}