Skip to content

Instantly share code, notes, and snippets.

View SonicZentropy's full-sized avatar

Casey Bailey SonicZentropy

View GitHub Profile
@SonicZentropy
SonicZentropy / AbstractComponent.cs
Last active October 20, 2016 01:46 — forked from will-hart/AbstractComponent.cs
Sentry ECS - a simple public domain entity component system
public abstract class AbstractComponent : IComponent
{
[NonSerialized]
protected readonly Entity _owner;
public AbstractComponent(Entity owner)
{
_owner = owner;
ID = Guid.NewGuid().ToString("n");
}
private Dictionary<ComponentTypesEnum, List<ComponentEcs>> _componentPools =
new Dictionary<ComponentTypes, List<ComponentEcs>>(new FastEnumIntEqualityComparer<ComponentTypes>()); // This is the custom comparator passed into the dict constructor
struct FastEnumIntEqualityComparer<TEnum> : IEqualityComparer<TEnum>
where TEnum : struct
{
static class BoxAvoidance
{
static readonly Func<TEnum, int> _wrapper;
@SonicZentropy
SonicZentropy / FPSCounter.cs
Created November 28, 2017 05:17
Non-Shitty Unity FPS Counter
namespace Zen.Common.Debug
{
#region Dependencies
using UnityEngine;
#endregion
public class FpsCounter : MonoBehaviour
{
@SonicZentropy
SonicZentropy / cmder-in-webstorm.md
Created August 21, 2018 20:00 — forked from sadikaya/cmder-in-webstorm.md
Cmder inside Webstorm terminal
  1. Set an environment variable called CMDER_ROOT to your root Cmder folder (in my case C:\Program Files (x86)\Cmder). It seems to be important that this does not have quotes around it because they mess with concatenation in the init script.
  2. In your IntelliJ terminal settings, use "cmd" /k ""%CMDER_ROOT%\vendor\init.bat"" as the Shell path. The double-double-quotes are intentional, as they counteract the missing double quotes in the environment variable.
[alias]
hist = log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short
ls = log --oneline
amend = commit -a --amend -C HEAD
new = !sh -c 'git log $1@{1}..$1@{0} "$@"'
ci = commit
co = checkout
cm = !git add . && git commit -a -m '$1' && git push && :
#pragma warning disable 0414, 0219, 649, 169, 1570
using System;
using UnityEngine;
using System.Collections.Generic;
using System.Linq;
public enum Tags : long
{
None = 0,
Player = 1 << 0,
@SonicZentropy
SonicZentropy / CustomAHK.ahk
Created March 15, 2016 01:17
Ableton AHK Script
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#KeyHistory 100
; #Warn ; Enable warnings to assist with detecting common errors.
SetTitleMatchMode, fast
SetTitleMatchMode, 2
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
#Persistent
#IfWinActive Ableton Live 9 Suite
^WheelUp::
@SonicZentropy
SonicZentropy / .gitattributes
Created April 12, 2019 13:50
Master gitattributes for unity/ue4
# UNREAL #
*.uasset filter=lfs diff=lfs merge=lfs -text
*.umap filter=lfs diff=lfs merge=lfs -text
*.upk filter=lfs diff=lfs merge=lfs -text
*.udk filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
#Unity
*.cginc text
*.shader text
@SonicZentropy
SonicZentropy / ContentReplace.js
Last active June 3, 2019 16:40
Blackboard JS Hack to force rewrite copied URLs that link to shell-specific locations
<!-- This snippet binds a function to the "dom:loaded" event.
You can put your own javascript into the function, or replace
the entire snippet. -->
<script type="text/javascript">
Event.observe(document,"dom:loaded", function() {
//Just filter by span since BB uses random hashes for class names
let elements = document.getElementsByTagName('span');
let matching = "None";
for (let i = 0; i < elements.length; i++) {