View ProjectorPreview.shader
// Angle Limitation based off https://forum.unity.com/threads/projector-shader-with-angle-limitation.406876/ | |
Shader "Projector/Preview" { | |
Properties { | |
_Color ("Main Color", Color) = (1,1,1,1) | |
_ShadowTex ("Cookie", 2D) = "" {} | |
_FalloffTex ("FallOff", 2D) = "" {} | |
} | |
Subshader { |
View TargetFilter.cs
using System.Collections; | |
using System.Collections.Generic; | |
using UnityEngine; | |
[CreateAssetMenu(menuName = "Definitions/Target Filter")] | |
public class TargetFilter : ScriptableObject | |
{ | |
// Target filters work by taking a set of potential targets and then by applying | |
// a series of filters in turn to narrow down your targets until you're left | |
// with who you want to target. |
View AnimationController.cs
using UnityEngine; | |
using UnityEngine.Animations; | |
using UnityEngine.Playables; | |
[RequireComponent(typeof(Animator))] | |
public class AnimationController : MonoBehaviour | |
{ | |
const string ANIMATION = "Animation"; | |
PlayableGraph _playableGraph; |
View ScrollingMaterial.cs
using UnityEngine; | |
[RequireComponent(typeof(MeshRenderer))] | |
public class ScrollingMaterial : MonoBehaviour | |
{ | |
public float Speed; | |
float _uvFactor; | |
Material _materialToScroll; |
View DebugTimeScaler.cs
using UnityEngine; | |
public class DebugTimeScaler : MonoBehaviour | |
{ | |
#if UNITY_EDITOR | |
void Update() | |
{ | |
if (Input.GetKeyDown(KeyCode.LeftBracket)) | |
{ | |
Time.timeScale /= 2f; |
View gist:5960293
using System; | |
using System.IO; | |
using System.Linq; | |
namespace CountingInversions | |
{ | |
class MainClass | |
{ | |
public static void Main (string[] args) | |
{ |