Skip to content

Instantly share code, notes, and snippets.

@jagwire
jagwire / gist:0129d50778c8b4462b68
Created December 11, 2014 15:12
Unity command line script to build WebGL player
//place this script in the Editor folder within Assets.
using UnityEditor;
//to be used on the command line:
//$ Unity -quit -batchmode -executeMethod WebGLBuilder.build
class WebGLBuilder {
static void build() {
string[] scenes = {"Assets/main.unity"};
@jagwire
jagwire / java-singleton
Created May 7, 2013 13:24
Java singleton pattern
public enum Singleton {
INSTANCE;
private Singleton() { }
}
require 'rubygems'
require 'sinatra'
set :port, 80
set :bind, '0.0.0.0'
get "/*" do
host = request.host
path = request.path
require 'rubygems'
require 'sinatra'
require 'data_mapper'
require 'json'
require 'thin'
class MyThinBackend < ::Thin::Backends::TcpServer
def initialize(host, port, options)
super(host,port)
@jagwire
jagwire / AutomaticTestExample.cs
Created February 8, 2016 16:00
Automatic Testing Scenario in Unity
namespace MHS {
interface ISpinner {
public void spin(Vector3 value);
}
[Serializable]
public SpinController { //we can instantiate this in a test
public float speed;
public Vector3 axis;
@jagwire
jagwire / ExampleTest.cs
Created February 8, 2016 15:53
Example Automatic Test
using UnityEngine;
namespace MHS.Tests {
public class MyLogic {
public int speed = 5;
public int position = 0;
public void tick(float timeStep) {
position = position + speed*time;
}
}
@jagwire
jagwire / NestedClass.cs
Created February 8, 2016 15:51
Nested Class Example
using UnityEngine;
using System.Collections.Generic;
namespace MHS {
public struct SUITS {
HEARTS,
SPADES,
CLUBS,
DIAMONDS
}
@jagwire
jagwire / CollaborativeString
Created May 13, 2013 22:36
Collaborative Objects in a cell.
public FoundationCell extends Cell {
@UsesCellComponent
private SharedStateComponent ssc;
private SharedMapImpl sharedMap;
protected CollaborativeString CollaborativeString(String value) {
return new CollaborativeString(value);
@jagwire
jagwire / Generic Decorator
Created May 7, 2013 13:47
A generic decorator for Observable objects.
public interface Obj {
protected void doSomething();
}
public class ObjImpl implements Obj {
protected void doSomething() {
int x = 5*5;
}
@jagwire
jagwire / MVP pattern: Wonderland U
Created May 7, 2013 13:37
Example M-V-P cell pattern for Wonderland U.
public class Cell {
//Do we need to contractually obligate developers to only use a single instance of a component based on class?
//The difference is in using a List or a Map.
Collection<State> states;
//Given an enum of types: Text, 2D, JME3
//We should keep track of the various views in a map. No two instances of a cell view should have the same type
Map<EnumViewType, CellView> views;
//The alternative here is to have a single view with view components