View .gitattributes
# unity | |
*.unitypackage filter=lfs diff=lfs merge=lfs -text | |
*.cubemap filter=lfs diff=lfs merge=lfs -text | |
*.spm filter=lfs diff=lfs merge=lfs -text | |
# models | |
*.mb filter=lfs diff=lfs merge=lfs -text | |
*.MB filter=lfs diff=lfs merge=lfs -text |
View RequiredFieldAttribute.cs
using System; | |
using UnityEngine; | |
/// <summary> | |
/// Indicates that an inspector field must have its value assigned during authoring. | |
/// </summary> | |
[AttributeUsage(AttributeTargets.Field)] | |
public class RequiredFieldAttribute : PropertyAttribute | |
{ | |
} |
View PennerEasing.cs
/** | |
* PennerEasing | |
* Calculates a float value between two target values using | |
* Robert Penner's easing equations for interpolation over a specified duration. | |
* | |
* @author Darren David darren-code@lookorfeel.com | |
* @version 1.0 | |
* | |
* Credit/Thanks: | |
* Robert Penner - The easing equations we all know and love |
View InklewriterSharpSaveRestore.cs
// Load story file | |
string storyJson = File.ReadAllText ("Stories/musgraveritual.json"); | |
StoryModel model = StoryModel.Create (storyJson); | |
// Find the saved stitch and fast forward the story's initial stitch: | |
string restoredStitchName = "holmesResumedHis"; // load this from disk | |
foreach (var stitch in model.Story.Stitches) { | |
if (stitch.Name == restoredStitchName) { | |
// Fast forward the story to this stitch | |
model.Story.InitialStitch = stitch; |
View osxtweaks.txt
# OS X Tweaks | |
# =========== | |
# General | |
# ------- | |
# Disable smart quotes and dashes | |
defaults write NSGlobalDomain NSAutomaticQuoteSubstitutionEnabled -bool false | |
defaults write NSGlobalDomain NSAutomaticDashSubstitutionEnabled -bool false |
View ogg2mp3.sh
for name in *.ogg; do ffmpeg -i "$name" -ab 128k -map_metadata 0:s:0 "${name/.ogg/.mp3}"; done; |
View IEnumeratorExtension.cs
using UnityEngine; | |
using System.Collections; | |
using System.Collections.Generic; | |
public static class IEnumeratorExtensions | |
{ | |
/// <summary> | |
/// Execute an entire Unity Coroutine in one frame. | |
/// This is useful for testing coroutines with NUnit. | |
/// |
View DoForSeconds.cs
/// <summary> | |
/// Yield on a DoForSeconds object within a coroutine and the supplied callback method | |
/// will be invoked during each Unity Update cycle. | |
/// | |
/// Example: yield return DoForSeconds (1, (elapsed, duration) => { Debug.Log (elapsed/duration); }); | |
/// </summary> | |
public class DoForSeconds : CustomYieldInstruction | |
{ | |
public delegate void UpdateCallback (float elapsed, float duration); | |
View lfs.gitattributes
# unity | |
*.unitypackage filter=lfs diff=lfs merge=lfs -text | |
*.cubemap filter=lfs diff=lfs merge=lfs -text | |
*.spm filter=lfs diff=lfs merge=lfs -text | |
# models | |
*.mb filter=lfs diff=lfs merge=lfs -text | |
*.MB filter=lfs diff=lfs merge=lfs -text |
View Instruments.cs
using UnityEngine; | |
using System.Collections; | |
using System.Collections.Generic; | |
/// <summary> | |
/// Debugging tools | |
/// </summary> | |
public static class Instruments | |
{ | |
static string stopwatchName; |
NewerOlder