(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
using System.Runtime.CompilerServices; | |
using System.Runtime.InteropServices; | |
// Here we simulate a managed object using native memory resources which has the same | |
// behavior as a Unity Object with "null-ness" and checks. It demonstrates why if(obj) | |
// is usually how you should be doing your checks ... | |
internal class Program | |
{ | |
private static void Main( string[] args ) |
using System; | |
using UnityEngine; | |
/// <summary> | |
/// This is a generic Singleton implementation for Monobehaviours. | |
/// Create a derived class where the type T is the script you want to "Singletonize" | |
/// Upon loading it will call DontDestroyOnLoad on the gameobject where this script is contained | |
/// so it persists upon scene changes. | |
/// </summary> | |
/// <remarks> |
using System.Collections.Generic; | |
using UnityEngine; | |
namespace Gists | |
{ | |
// The algorithm is from the "Fast Poisson Disk Sampling in Arbitrary Dimensions" paper by Robert Bridson. | |
// https://www.cs.ubc.ca/~rbridson/docs/bridson-siggraph07-poissondisk.pdf | |
public static class FastPoissonDiskSampling | |
{ |
!#()+,-.0123456789:;>?@aAàÀảẢãÃáÁạẠăĂằẰẳẲẵẴắẮặẶâÂầẦẩẨẫẪấẤậẬbBcCdDđĐeEèÈẻẺẽẼéÉẹẸêÊềỀểỂễỄếẾệỆ fFgGhHiIìÌỉỈĩĨíÍịỊjJkKlLmMnNoOòÒỏỎõÕóÓọỌôÔồỒổỔỗỖốỐộỘơƠờỜởỞỡỠớỚợỢpPqQrRsStTu UùÙủỦũŨúÚụỤưƯừỪửỬữỮứỨựỰvVwWxXyYỳỲỷỶỹỸýÝỵỴzZ—‘’“”… |
using UnityEngine; | |
/// <summary> | |
/// Resizes a UI element with a RectTransform to respect the safe areas of the current device. | |
/// This is particularly useful on an iPhone X, where we have to avoid the notch and the screen | |
/// corners. | |
/// | |
/// The easiest way to use it is to create a root Canvas object, attach this script to a game object called "SafeAreaContainer" | |
/// that is the child of the root canvas, and then layout the UI elements within the SafeAreaContainer, which | |
/// will adjust size appropriately for the current device./// </summary> |
In console: | |
git config credential.helper | |
You will see: osxkeychain | |
git config credential.helper sourcetree | |
Then if you perform git config credential.helper again | |
You will see: sourcetree |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.