Skip to content

Instantly share code, notes, and snippets.

View AnsisMalins's full-sized avatar

Ansis Māliņš AnsisMalins

View GitHub Profile
@AnsisMalins
AnsisMalins / UnsafeStringBuilder.cs
Last active August 12, 2020 21:22
Non-growing, zero allocation string builder
using System.IO;
using UnityEngine;
public sealed class UnsafeStringBuilder
{
public int Capacity => _buffer.Length;
public int Length { get; private set; }
private string _buffer;
@AnsisMalins
AnsisMalins / Matrix4x4Drawer.cs
Created September 27, 2020 20:47
A custom property drawer for matrices
using System;
using UnityEditor;
using UnityEngine;
[CustomPropertyDrawer(typeof(Matrix4x4))]
public sealed class Matrix4x4Drawer : PropertyDrawer
{
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
{
return (EditorGUIUtility.singleLineHeight + 2) * 4 - 2;
@AnsisMalins
AnsisMalins / GUI2.cs
Last active October 23, 2022 23:17
Virtualizing list view for Unity IMGUI
using System;
using System.Reflection;
using UnityEngine;
public static class GUI2
{
#if UNITY_EDITOR
private static readonly MethodInfo _internalRepaintEditorWindow = typeof(GUI).GetMethod(
"InternalRepaintEditorWindow", BindingFlags.Static | BindingFlags.NonPublic);
#endif