Skip to content

Instantly share code, notes, and snippets.

using System.Linq;
using UnityEngine;
public class AutoReferencer<T> : MonoBehaviour where T : AutoReferencer<T> {
#if UNITY_EDITOR
// This method is called once when we add component to game object
protected new virtual void Reset()
{
// Magic of reflection
#if UNITY_EDITOR
using System;
using System.Collections.Generic;
using System.Text;
using UnityEditor;
using UnityEditor.Compilation;
using UnityEngine;
[InitializeOnLoad]
public class AsmDefDebug
@AlexMerzlikin
AlexMerzlikin / FastTypeComparer.cs
Created December 19, 2019 20:23
Compares types by reference before comparing them using the default type equality operator
//-----------------------------------------------------------------------
// <copyright file="FastTypeComparer.cs" company="Sirenix IVS">
// Copyright (c) 2018 Sirenix IVS
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
namespace UnityEngine.EventSystems
{
public class MultiTouchInputModule : TouchInputModule
{
private PinchRotateEventData _pinchRotateData;
using System.Collections;
using System.Linq;
using UnityEditor;
using UnityEngine;
/// <summary>
/// A helper editor script for finding missing references to objects.
/// </summary>
public class MissingReferencesFinder : MonoBehaviour
{
@AlexMerzlikin
AlexMerzlikin / .gitignore
Last active April 28, 2020 11:34
Unity gitignore
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/
/Assets/AssetStoreTools*
*.keystore
@AlexMerzlikin
AlexMerzlikin / BatchRenderGroupBoidsRunner.cs
Last active April 6, 2022 20:44
The first unoptimized version of BatchRenderGroup Boids Renderer for the blog post @ https://gamedev.center/trying-out-new-unity-api-batchrenderergroup/
using System;
using ThousandAnt.Boids;
using Unity.Collections;
using Unity.Collections.LowLevel.Unsafe;
using Unity.Jobs;
using Unity.Mathematics;
using UnityEngine;
using UnityEngine.Rendering;
using Random = UnityEngine.Random;
@AlexMerzlikin
AlexMerzlikin / Singleton.cs
Created December 18, 2019 10:52
Unity Singleton
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public abstract class Singleton<T> : MonoBehaviour where T : Component
{
#region Fields
/// <summary>
@AlexMerzlikin
AlexMerzlikin / AsyncStateMachine.cpp
Created December 15, 2022 21:51
What a simple "await Task.Delay()" is generated into using Unity IL2CPP scripting backend.
IL2CPP_EXTERN_C IL2CPP_METHOD_ATTR Task_t751C4CC3ECD055BABA8A0B6A5DFBB4283DCA8572* TestTaskMonoBehaviour_TestMethodAsync_m2608F067B822413A2380FE0CCA1A9FCB251C4454 (TestTaskMonoBehaviour_t8D0CF54D6090450EE844BEA7DA0A080B5A17A74C* __this, const RuntimeMethod* method)
{
static bool s_Il2CppMethodInitialized;
if (!s_Il2CppMethodInitialized)
{
il2cpp_codegen_initialize_runtime_metadata((uintptr_t*)&AsyncTaskMethodBuilder_Start_TisU3CTestMethodAsyncU3Ed__1_tA8A97951AA0C3E88CC6D874339C83A65065C39D0_m6D2DD2EBF8C61EB68DE2F44E96C14C78AD8BD583_RuntimeMethod_var);
il2cpp_codegen_initialize_runtime_metadata((uintptr_t*)&AsyncTaskMethodBuilder_t7A5128C134547B5918EB1AA24FE47ED4C1DF3F06_il2cpp_TypeInfo_var);
s_Il2CppMethodInitialized = true;
}
U3CTestMethodAsyncU3Ed__1_tA8A97951AA0C3E88CC6D874339C83A65065C39D0 V_0;
@AlexMerzlikin
AlexMerzlikin / Outline.shader
Created August 21, 2018 20:31
Sprite outline shader by Joyce
Shader "Sprites/Outline"
{
Properties
{
[PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
_Color ("Tint", Color) = (1,1,1,1)
_Brightness("Outline Brightness", Range(0,8)) = 3.2
_Width("Outline Width", Range(0,0.05)) = 0.003
_OutlineTex ("Outline Texture", 2D) = "white" {}
_SpeedX("Scroll Speed X", Range(-20,20)) = 0.003