Skip to content

Instantly share code, notes, and snippets.

Avatar

Tyler JavadocMD

View GitHub Profile
@JavadocMD
JavadocMD / sof.scala
Created Nov 3, 2016
Sequence of Futures
View sof.scala
def details(since: Option[LocalDate], until: Option[LocalDate], page: Int): Future[NumberedDetailsPage] = { ... }
details(since, until, 1).flatMap { page1 =>
val pagesFuture = Future.sequence(
for {
n <- (2 to page1.details.totalPages).toList
} yield {
details(since, until, n)
}
@JavadocMD
JavadocMD / CompileIndicator.cs
Last active May 26, 2021
A Unity script to play a sound effect when script compiling starts and ends.
View CompileIndicator.cs
using System;
using System.Reflection;
using UnityEditor;
using UnityEngine;
// I recommend dropping this script in an Editor folder.
// You should have two audio clips somewhere in the project.
// You'll need to edit-in the paths of those clips (from your project root folder) in the static initializer below.
// Example path: "Assets/Editor/CompileIndicator/start.mp3"
@JavadocMD
JavadocMD / UniRxCharacterV3.cs
Created Jul 20, 2016
Developing a first person controller for Unity3D with UniRx: Part 3
View UniRxCharacterV3.cs
using UnityEngine;
using UniRx;
using UniRx.Triggers;
namespace Assets.Scripts.v3 {
public class InputsV3 : MonoBehaviour {
// Singleton.
public static InputsV3 Instance { get; private set; }
@JavadocMD
JavadocMD / UniRxCharacterV2.cs
Last active Sep 17, 2020
Developing a first person controller for Unity3D with UniRx: Part 2
View UniRxCharacterV2.cs
using UnityEngine;
using UniRx;
using UniRx.Triggers;
// NOTE: Unity won't actually let you put two MonoBehaviours in one file.
// They're both listed here just for convenience.
namespace Assets.Scripts.v2 {
public class InputsV2 : MonoBehaviour {
@JavadocMD
JavadocMD / UniRxCharacterV1.cs
Last active Jan 6, 2021
Developing a first person controller for Unity3D with UniRx: Part 1
View UniRxCharacterV1.cs
using UnityEngine;
using UniRx;
using UniRx.Triggers;
// NOTE: Unity won't actually let you put two MonoBehaviours in one file.
// They're both listed here just for convenience.
namespace Assets.Scripts.v1 {
public class InputsV1 : MonoBehaviour {
@JavadocMD
JavadocMD / Main.scala
Last active Apr 26, 2016
Application of type classes for intersecting Shapes, inspired by http://eli.thegreenplace.net/2016/a-polyglots-guide-to-multiple-dispatch
View Main.scala
// Define our shapes.
trait Shape
class Rectangle extends Shape
class Ellipse extends Shape
class Triangle extends Shape
object Shape {
// The method we'll call to perform an intersection.
def intersect[A <: Shape, B <: Shape](a: A, b: B)(implicit ev: Intersection[A,B]): Unit = {
@JavadocMD
JavadocMD / ProjectName.sln.DotSettings
Last active Oct 4, 2017
A nice DotSettings file for JetBrains Rider projects.
View ProjectName.sln.DotSettings
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/IntelliSenseCompletingCharacters/CSharpCompletingCharacters/UpgradedFromVSSettings/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeInspection/Highlighting/IdentifierHighlightingEnabled/@EntryValue">True</s:Boolean>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=SuggestVarOrType_005FSimpleTypes/@EntryIndexedValue">DO_NOT_SHOW</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=UnassignedField_002ECompiler/@EntryIndexedValue">DO_NOT_SHOW</s:String>
<s:String x:Key="/Default/CodeStyle/CodeCleanup/RecentlyUsedProfile/@EntryValue">Default: Reformat Code</s:String>
<s:String x:Key="/Defaul
View Example.cs
public class GameModel : MonoBehaviour {
public FloatReactiveProperty Score { get; private set; }
void Awake() {
Score = new FloatReactiveProperty(0f).AddTo(this);
}
}
public class ScoreUI : MonoBehaviour {
@JavadocMD
JavadocMD / FileManager.scala
Created Jun 11, 2015
Example of combining Observables and Actors for a workflow.
View FileManager.scala
package com.ornithoptergames.psav
import java.nio.file.StandardWatchEventKinds.ENTRY_MODIFY
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.duration._
import com.beachape.filemanagement.RxMonitor
import com.ornithoptergames.psav.FrameInfoLoader._
import com.ornithoptergames.psav.Messages._
import com.ornithoptergames.psav.RxMessage.Implicits._
import akka.actor.ActorSystem
@JavadocMD
JavadocMD / picks.scala
Last active Aug 29, 2015
Picking items from a list one-by-one
View picks.scala
// Combining a list of options...
val options = List("a", "b", "c", "d")
// ... with a sequence of "picks" to make...
val choices = List(0, 2, 1, 0)
// ... should yield a re-ordered list as so.
val expects = List("a", "d", "c", "b")
// Assume we don't have to worry about out-of-bounds choices.
// worked example:
// pick 0 from {a,b,c,d} -> a