Skip to content

Instantly share code, notes, and snippets.

using System;
using UnityEngine.Events;
using UnityEngine.EventSystems;
namespace UnityEngine.UI
{
/// <summary>
/// Simple toggle -- something that has an 'on' and 'off' states: checkbox, toggle button, radio button, etc.
/// </summary>
[AddComponentMenu("UI/Toggle", 35)]
@stramit
stramit / ScrollRect.cs
Created September 22, 2014 09:55
Scroll Rect
using System;
using UnityEngine.Events;
using UnityEngine.EventSystems;
namespace UnityEngine.UI
{
[AddComponentMenu ("UI/Scroll Rect", 33)]
[SelectionBase]
[ExecuteInEditMode]
@stramit
stramit / Text.cs
Created September 22, 2014 12:55
Text Element
using System;
using System.Collections.Generic;
using System.Text;
namespace UnityEngine.UI
{
/// <summary>
/// Labels are graphics that display text.
/// </summary>
@shayded-exe
shayded-exe / ScriptableObjectPropertyDrawer.cs
Last active September 4, 2020 15:12
Put this script in your Editor folder. Then right click on any inspector field that accepts a ScriptableObject to create an asset for it. The asset will also automatically be assigned to the field.
using System;
using System.IO;
using System.Linq;
using System.Linq.Extensions;
using UnityEditor;
using UnityEngine;
namespace PachowStudios.BadTummyBunny.Editor
{
[CustomPropertyDrawer(typeof(ScriptableObject), true)]
@GibTreaty
GibTreaty / RadialLayout.cs
Created August 26, 2016 04:53 — forked from DGoodayle/RadialLayout.cs
Radial Layouts in Unity
using UnityEngine;
using UnityEngine.UI;
/*
Radial Layout Group by Just a Pixel (Danny Goodayle) - http://www.justapixel.co.uk
Copyright (c) 2015
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
@JohannesMP
JohannesMP / 2DLineRectIntersection.md
Last active November 20, 2024 07:09
[C#, Unity3D] An optimized solver for intersection between a Line Segment and a Rect in 2D space with spacial partitioning.

Overview

For a 2D Unity Project, I needed a really efficient way to get the intersection points between a line segment (as defined by two Vector2) and an axis-aligned Rect in 2D space, where the intersection points are returned as a parametric fraction of the length of the original line segment:

Note how when the line intersects the rect, the green line represents the portion inside the rect, and the parametric representation of the point of intersection along the line is displayed

In my use case the vast majority of lines are either completely inside or completely outside the rect, and so I needed an approach that was very efficient in cases where there is guaranteed no intersection and avoids unecessary raycasts when possible.

@echo off
REM Change this to where you want the files backed-up to...
REM (Always put a backslash at the end so xcopy knows you want to create a directory)
set dst="%USERPROFILE%\Backups\Minecraft Dungeons\"
set srcdir="%LOCALAPPDATA%\Packages\Microsoft.Lovika_8wekyb3d8bbwe\LocalCache\Local\Dungeons"
if exist %srcdir% goto find_subdir
set srcdir="%LOCALAPPDATA%\Dungeons"
if exist %srcdir% goto find_subdir
@luisparravicini
luisparravicini / GizmosExtensions.cs
Created August 1, 2020 11:23
Method to draw an arc with Unity's Gizmos
using UnityEngine;
public class GizmosExtensions
{
private GizmosExtensions() { }
/// <summary>
/// Draws a wire arc.
/// </summary>
/// <param name="position"></param>
@modyari
modyari / VectorExtensions.cs
Created September 13, 2021 16:14
(Unity) Modifies a Vector's component and returns it
using UnityEngine;
public static class VectorExtensions
{
/// <summary>
/// Returns a modified version of the vector with one or more components modified
/// </summary>
/// <param name="x">X component to modify</param>
/// <param name="y">Y component to modify</param>
/// <returns>A modified version of the vector with the passed component configurations</returns>