Skip to content

Instantly share code, notes, and snippets.

View AngryAnt's full-sized avatar

Emil "AngryAnt" Johansen AngryAnt

View GitHub Profile
using UnityEngine;
using System.Collections;
[RequireComponent (typeof (Renderer))]
public class RenderGUIToTexture : MonoBehaviour
{
public RenderTexture texture;
public Texture2D background;
@AngryAnt
AngryAnt / GameManager.cs
Created May 2, 2011 08:59
GameManager.cs
using UnityEngine;
using System.Collections;
public enum GameStatus
{
Setup,
Initializing,
ReInitializing,
AwaitingMasterServer,
@AngryAnt
AngryAnt / Player.cs
Created May 2, 2011 09:45
Player.cs
using UnityEngine;
using System.Collections;
[RequireComponent (typeof (NetworkView))]
[RequireComponent (typeof (Rigidbody))]
[RequireComponent (typeof (AnimationController))]
public class Player : MonoBehaviour, System.IComparable
{
public Transform graphicsPrefab;
public float GetCost (Agent agent)
{
return (To.Position - From.Position).Magnitude *
Weight *
(customWeightHandler == null ? 1.0f : customWeightHandler (agent, this));
}
@AngryAnt
AngryAnt / MyAgent.cs
Created May 30, 2011 09:57
Tree tick frequency.
using UnityEngine;
using System.Collections;
using Behave.Runtime;
using Tree = Behave.Runtime.Tree;
public class MyAgent : IAgent
{
private Tree myTree;
@AngryAnt
AngryAnt / ExplicitProperty.txt
Created May 30, 2011 14:02
Explicit property type
// This:
public Rigidbody target;
void FixedUpdate ()
{
target.AddForce (transform.forward * 1.0f);
}
@AngryAnt
AngryAnt / MyStateMachine.cs
Created May 31, 2011 08:45
A simple state machine using a dictionary of delegates indexed by an enum.
using UnityEngine;
using System.Collections.Generic;
public class MyStateMachine : MonoBehaviour
{
public delegate void StateHandlerDelegate ();
public enum MyStateType
@AngryAnt
AngryAnt / DelayedInitialization.cs
Created June 6, 2011 13:21
An example of how to do delayed initialization - spreading heavy initialization workloads across multiple frames.
private static int newID = 0;
private int id;
private bool initialized = false;
IEnumerator Start ()
{
id = newID++;
for (int i = 0; i < id; i++)
{
@AngryAnt
AngryAnt / build.pl
Created June 7, 2011 19:29
Example perl script for building .net assemblies for use in Unity.
#!/bin/usr/perl
use strict;
use File::Basename;
chdir (File::Spec->rel2abs (dirname($0)."/..")); # Modify for location of perl script
my $monoPath = "External/Mono/builds/monodistribution";
my @sourceDirs = (
"Path/To/Source/*.cs",
"Path/To/More/Source/*.cs"
@AngryAnt
AngryAnt / InteractionExample.cs
Created July 13, 2011 13:03
An example of how interaction could be done. Untested code.
using UnityEngine;
public class InteractionExample : MonoBehaviour
{
public string interactionKey = "i";
public float interactionRadius = 2.0f, interactionViewCone = 60.0f;
void Update ()