Skip to content

Instantly share code, notes, and snippets.

View jonathanpeppers's full-sized avatar
🌶️
spicy!

Jonathan Peppers jonathanpeppers

🌶️
spicy!
View GitHub Profile
@jonathanpeppers
jonathanpeppers / BuildScript.cs
Last active August 29, 2015 14:18
BuildScript.cs for Windows
static void Windows()
{
CheckDir(@"Scratch\WinRT");
PlayerSettings.Metro.packageVersion = new Version(_versionNumber);
EditorUserBuildSettings.metroBuildType = MetroBuildType.VisualStudioCSharp;
EditorUserBuildSettings.metroSDK = MetroSDK.UniversalSDK81;
BuildPipeline.BuildPlayer(GetScenes(), "Scratch/WinRT", BuildTarget.MetroPlayer, BuildOptions.None);
}
@jonathanpeppers
jonathanpeppers / Windows.fsx
Created April 1, 2015 20:40
Windows / Unity3D / FAKE build targets
let windowsSolution = "Scratch/WinRT/YourGame.sln"
let parameters = [
("Configuration", "Release")
("AppxBundle", "Auto")
("AppxPackage", "True")
("AppxPackageIsForStore", "True")
("AppxPackageDir", "../../../../build/")
("AppxPackageDirWasSpecified", "True")
("AppVersion", versionNumber)
]
@jonathanpeppers
jonathanpeppers / Tests.fsx
Created April 1, 2015 20:40
NUnit Tests/ Unity3D / FAKE build targets
Target "test" (fun () ->
Unity "-executeMethod UnityTest.Batch.RunUnitTests -resultFilePath TestResults.xml"
)
@jonathanpeppers
jonathanpeppers / NSObject.mm
Last active August 29, 2015 14:18
NSObject Example
NSObject *object = [[NSObject alloc] init];
//Do stuff with the object
[object makeItRain: @"benjamins"];
//Cleanup your memory
[object release];
@jonathanpeppers
jonathanpeppers / NSObject.cs
Created April 9, 2015 15:21
NSObject Example
var obj = new NSObject();
obj.MakeItRain("benjamins");
obj.Dispose();
@jonathanpeppers
jonathanpeppers / NSObject.c
Created April 9, 2015 15:22
NSObject Example
Class *class = objc_getClass("NSObject");
SEL alloc = sel_registerName("alloc");
SEL init = sel_registerName("init");
id *object = objc_msgSend(objc_msgSend(class, alloc), init);
//Ok, now make it rain
SEL makeItRain = sel_registerName("makeItRain:");
objc_msgSend(object, makeItRain, "benjamins");
SEL release = sel_registerName("release");
@jonathanpeppers
jonathanpeppers / Messaging.cs
Created April 9, 2015 15:23
ObjC Messaging
public static class Messaging
{
[DllImport("/usr/lib/libobjc.dylib", EntryPoint = "objc_msgSend")]
public static extern IntPtr Intptr_objc_msgSend(IntPtr receiver, IntPtr selector);
[DllImport("/usr/lib/libobjc.dylib", EntryPoint = "objc_msgSend")]
public static extern IntPtr IntPtr_objc_msgSend_byte(IntPtr receiver, IntPtr selector, byte arg1);
[DllImport("/usr/lib/libobjc.dylib", EntryPoint = "objc_msgSend")]
public static extern IntPtr IntPtr_objc_msgSend_Double(IntPtr receiver, IntPtr selector, double arg1);
@jonathanpeppers
jonathanpeppers / ClassSelector.cs
Last active August 29, 2015 14:18
ObjC Class and Selector
IntPtr classHandle = Class.GetHandle("NSObject");
var selector = new Selector("alloc");
@jonathanpeppers
jonathanpeppers / NSObject.cs
Last active August 29, 2015 14:18
NSObject in C#
public class NSObject
{
private IntPtr _handle;
public NSObject()
{
IntPtr classHandle = Class.GetHandle("NSObject");
var alloc = new Selector("alloc");
var init = new Selector("init");
_handle = Messaging.IntPtr_objc_msgSend(classHandle, alloc.Handle);
@jonathanpeppers
jonathanpeppers / UnityBuild.fsx
Created September 11, 2015 03:38
Unity Build with FAKE
#r @"packages/FAKE.4.3.7/tools/FakeLib.dll"
open Fake
Target "android" (fun () ->
Unity "-executeMethod BuildScript.Android"
)
RunTarget()