Skip to content

Instantly share code, notes, and snippets.

Avatar

Emil Johansen AngryAnt

View GitHub Profile
View Levels.cs
const int
kPreLevelScenes = 2, // Number of scenes before the first level (splash, menu, etc.)
kPostLevelScenes = 0; // Number of scenes after last level (score, credits, whatever)
const string kLevelScorePrefix = "Score for level ";
// ...
void OnLevelBeat ()
{
if (Application.loadedLevel < Application.levelCount - kPostLevelScenes - 1)
@AngryAnt
AngryAnt / BehaveExtensions.cs
Last active Aug 29, 2015
Tree.ReflectClassForwards (GameObject) and Tree.SetForwards (int id, IActionClass actionClass). This is now built-in per Behave 2.6.
View BehaveExtensions.cs
using UnityEngine;
using Behave.Runtime;
using Library = BLYourLibraryName;
using Tree = Behave.Runtime.Tree;
public interface IActionClass
{
bool OnForward (Tree sender);
BehaveResult Init (Tree sender);
View RenderGUIToTexture.cs
using UnityEngine;
using System.Collections;
[RequireComponent (typeof (Renderer))]
public class RenderGUIToTexture : MonoBehaviour
{
public RenderTexture texture;
public Texture2D background;
View GameManager.cs
using UnityEngine;
using System.Collections;
public enum GameStatus
{
Setup,
Initializing,
ReInitializing,
AwaitingMasterServer,
View 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;
View Connection.cs
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
Tree tick frequency.
View MyAgent.cs
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
Explicit property type
View ExplicitProperty.txt
// This:
public Rigidbody target;
void FixedUpdate ()
{
target.AddForce (transform.forward * 1.0f);
}
@AngryAnt
AngryAnt / MyStateMachine.cs
Created May 31, 2011
A simple state machine using a dictionary of delegates indexed by an enum.
View MyStateMachine.cs
using UnityEngine;
using System.Collections.Generic;
public class MyStateMachine : MonoBehaviour
{
public delegate void StateHandlerDelegate ();
public enum MyStateType
@AngryAnt
AngryAnt / DelayedInitialization.cs
Created Jun 6, 2011
An example of how to do delayed initialization - spreading heavy initialization workloads across multiple frames.
View DelayedInitialization.cs
private static int newID = 0;
private int id;
private bool initialized = false;
IEnumerator Start ()
{
id = newID++;
for (int i = 0; i < id; i++)
{
You can’t perform that action at this time.