Skip to content

Instantly share code, notes, and snippets.

View kurtdekker's full-sized avatar

Kurt Dekker kurtdekker

View GitHub Profile
@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()
@kurtdekker
kurtdekker / SetRB2DCenterOfMass.cs
Created January 25, 2022 22:50
Sets center of mass on a Rigidbody2D
using UnityEngine;
// @kurtdekker
// to use, place this on the GameObject where your Rigidbody2D is located
public class SetRB2DCenterOfMass : MonoBehaviour
{
public Vector3 DesiredCenterOfMass;
void Start ()
@kurtdekker
kurtdekker / RayViz.cs
Created January 13, 2022 18:56
Visualize rays in Unity using LineRenderers
using System.Collections;
using UnityEngine;
// @kurtdekker
//
// Simple way to throw visible rays into a scene using LineRenderers
//
// Useful for debugging raycasts.
//
// May be helpful to call Debug.Break() simultaneously
@kurtdekker
kurtdekker / EditorScreenshotTaker.cs
Created January 10, 2022 19:25
take simple screenshots in Unity3D
using UnityEngine;
using System.Collections;
// @kurtdekker
// drop it in a scene somewhere or else call PossiblyAttach(),
// in which case it only attaches in the editor.
public class EditorScreenshotTaker : MonoBehaviour
{
static bool tried;
@kurtdekker
kurtdekker / RepeatingKeyDetector.cs
Last active January 8, 2022 20:23
Detect both edge-trigger (pressed) keys and held-to-repeat keys in Unity3D
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// @kurtdekker
//
// cheap and cheerful repeating keys in Unity3D
//
// You can lift/release them as fast as you like
// and exceed the repeat rate. Or just hold it.