Skip to content

Instantly share code, notes, and snippets.

View kurtdekker's full-sized avatar

Kurt Dekker kurtdekker

View GitHub Profile
@kurtdekker
kurtdekker / AddRingOfSphereColliders.cs
Last active February 6, 2025 11:52
Creates a torus of SphereColliders to allow a torus with a Rigidbody in Unity3D
using UnityEngine;
using UnityEditor;
// @kurtdekker - easy cheesy add sphere colliders in a circle (for a torus)
// see notes below for how to make it go around a different axis
public class AddRingOfSphereColliders : EditorWindow
{
int count = 24;
float largeRadius = 2.0f;
using UnityEngine;
using System;
//Original version of the ConditionalHideAttribute created by Brecht Lecluyse (www.brechtos.com)
//Modified by: -
[ AttributeUsage( AttributeTargets.Field ) ]
public class ConditionalHideAttribute : PropertyAttribute
{
public readonly string ConditionalSourceField;
using UnityEngine;
// @kurtdekker
//
// ultra-simple core of "shuffle and pick"
//
// drop this on a blank GameObject and run
public class ShuffleAndPick : MonoBehaviour
{
@kurtdekker
kurtdekker / SearchXPTable.cs
Created April 21, 2022 14:19
Simple demonstration of looking up XP into a Player Level table
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// @kurtdekker - ultra-simple XP to Level lookup table
// drop it on a blank GameObject to test it, look in the console
public class SearchXPTable : MonoBehaviour
{
// CAUTION: This is subject to all of Unity3D's serialization rules!!!
@kurtdekker
kurtdekker / SilverLooper.cs
Created March 13, 2022 20:19
Angry Birds, Silver: Looping Legend code for Unity3D
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// kurtdekker
// A looping downward attack like Angry Birds, Silver: Looping Legend
//
// To use:
// - put this on your Rigidbody2D object
// - send it flying
@kurtdekker
kurtdekker / StarCastle.cs
Created March 2, 2022 15:49
Simple star castle style rotating fortress generation
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// @kurtdekker
//
// to use, just drop this onto a blank GameObject located where you want the rings
public class StarCastle : MonoBehaviour
{
@kurtdekker
kurtdekker / LevelDefinition.cs
Created February 24, 2022 17:11
Example ScriptableObject-based LevelDefinition object
using UnityEngine;
// @kurtdekker
//
// An example "level definition" object.
//
// The purpose is to centralize all the things you need to
// present, select and launch a given level.
//
// To use:
@kurtdekker
kurtdekker / TiledSpritesInfinite.cs
Created February 23, 2022 23:27
Infinite scrolling sprite background in Unity3D
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// @kurtdekker
// To use:
// import a repeating sprite, FullRect
// drop it on a SpriteRenderer GameObject
// drop this on that same SpriteRenderer you want to be infinitely tiled
//
@kurtdekker
kurtdekker / Flashlight.cs
Created February 12, 2022 19:38
Simple flashlight script
using UnityEngine;
using System.Collections;
// @kurtdekker
// place this on the flashlight, which must have a Light component
public class Flashlight : MonoBehaviour
{
public float battery = 20;
bool isOn;
@kurtdekker
kurtdekker / CommonStatisticsAccumulator.cs
Created February 7, 2022 14:42
Unity3D simple time-and-distance statistics accumulation
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// @kurtdekker
//
// This is the statistics accumulator that runs whenever
// a game is running in Jetpack Kurt.
//
// When your game starts call CommonStatisticsAccumulator.Attach()