Skip to content

Instantly share code, notes, and snippets.

View dyguests's full-sized avatar
:octocat:
٩(˃̶͈̀௰˂̶͈́)و

fanhl dyguests

:octocat:
٩(˃̶͈̀௰˂̶͈́)و
View GitHub Profile
@dyguests
dyguests / CustomAndroidPreprocessBuild.cs
Created December 21, 2023 04:05
Unity set Android JAVA_HOME
using System;
using UnityEditor.Build;
using UnityEditor.Build.Reporting;
public class CustomAndroidPreprocessBuild : IPreprocessBuildWithReport
{
public int callbackOrder => 0;
public void OnPreprocessBuild(BuildReport report)
{
@dyguests
dyguests / .gitignore
Created November 22, 2023 02:05
unity.gitignore
[Ll]ibrary/
[Tt]emp/
[Oo]bj/
[Bb]uild/
[Bb]uilds/
[Ll]ogs/
# Uncomment this line if you wish to ignore the asset store tools plugin
# [Aa]ssets/AssetStoreTools*
@dyguests
dyguests / ObjectEx.cs
Created November 1, 2022 14:38
ObjectEx, Let, Also, C#
namespace Plugins.FanhlCores.Scripts.Tools
{
public static class ObjectEx
{
// Kotlin: fun <T, R> T.let(block: (T) -> R): R
public static R Let<T, R>(this T self, Func<T, R> block)
{
return block(self);
}
@dyguests
dyguests / LogGui.cs
Created October 18, 2022 13:51
LogGui, Unity log on screen, Screen Log.
using System.Collections.Generic;
using UnityEngine;
namespace Plugins.FanhlCores.Tools
{
public class LogGui : MonoBehaviour
{
private const int MaxChars = 10000;
private static LogGui sInstance;
@dyguests
dyguests / EnumerableEx.cs
Created October 16, 2022 13:36
EnumerableEx, Enumerable Extension.
using System.Collections.Generic;
namespace Cores.Tools
{
public static class EnumerableEx
{
public static bool Unanimous<T>(this IEnumerable<T> enumerable)
{
using var enumerator = enumerable.GetEnumerator();
if (enumerator.MoveNext())
@dyguests
dyguests / BufferHandler.cs
Last active October 17, 2022 14:05
BufferHandler, BufferedHandler, SpoolHandler, 缓存处理, 多个操作连续处理
using System;
using System.Collections.Generic;
using Cysharp.Threading.Tasks;
using JetBrains.Annotations;
namespace Plugins.FanhlCores.Tools
{
public class BufferHandler<T>
{
private readonly Queue<T> items = new();
@dyguests
dyguests / IObserver.cs
Created September 18, 2022 07:18
C#, Unity, 观察者模式, 审查者模式, 观察者模式变体, ISubject, IObserver
namespace Tools
{
public interface IObserver<out T>
{
T Updater { get; }
}
}
@dyguests
dyguests / DOTweenEx.cs
Created September 6, 2022 15:12
DOTween Extra Tools.
using DG.Tweening;
using DG.Tweening.Core;
using DG.Tweening.Plugins.Options;
using UnityEngine;
namespace Tools
{
public static class DOTweenEx
{
public static TweenerCore<float, float, FloatOptions> DOAlpha(
@dyguests
dyguests / SizePerfectCanvas.cs
Last active June 20, 2023 02:59
SizePerfectCanvas. adapter size.
using UnityEngine;
using UnityEngine.UI;
namespace Script.Tools
{
[RequireComponent(typeof(CanvasScaler))]
[ExecuteAlways]
public class SizePerfectCanvas : MonoBehaviour
{
[SerializeField] private CanvasScaler canvasScaler;
@dyguests
dyguests / SizePerfectCamera.cs
Last active May 6, 2022 16:11
SizePerfectCamera. adapter size.
using UnityEngine;
namespace Tools
{
[ExecuteAlways]
public class SizePerfectCamera : MonoBehaviour
{
[SerializeField] private new Camera camera;
[Space] [Tooltip("摄像机的尺寸范围(最小值,最大值)")] [SerializeField]