Skip to content

Instantly share code, notes, and snippets.

Shader "BlendOp"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
[Enum(UnityEngine.Rendering.BlendOp)] _BlendOp("Blend Operation", Float) = 0.0
[Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend("Source Blend", Float) = 1.0
[Enum(UnityEngine.Rendering.BlendMode)] _DstBlend("Destination Blend", Float) = 1.0
}
using UnityEngine.Tilemaps;
using BlendModes;
[ExtendedComponent(typeof(TilemapRenderer))]
public class TilemapRendererExtension : RendererExtension<TilemapRenderer>
{
public override string[] GetSupportedShaderFamilies ()
{
return new[] {
"SpritesDefault"
#if LIVE2D_AVAILABLE
using Live2D.Cubism.Core;
using Live2D.Cubism.Framework;
using System.Collections.Generic;
using System.Linq;
using UnityCommon;
using UnityEngine;
namespace Naninovel
@elringus
elringus / Program.cs
Created June 25, 2018 07:31
Stubble render empty lines for non-existing tags
using Stubble.Core.Builders;
using System;
class Program
{
static string template =
@"Lorem ipsum dolor sit amet, consectetur adipiscing elit.
{{{ATag}}}
{{{ATag}}}
{{{ATag}}}
/// <summary>
/// Checks whether string is null, empty or consists of whitespace chars.
/// </summary>
public static bool IsNullEmptyOrWhiteSpace (string content)
{
if (String.IsNullOrEmpty(content))
return true;
return String.IsNullOrEmpty(content.TrimFull());
}
@elringus
elringus / SpriteGradientHSBC.shader
Last active January 8, 2018 11:12
Incorporates HSBC effects and gradient overlay blending for sprites.
// Incorporates HSBC effects and gradient overlay blending for sprites.
Shader "BlendModes/Extra/SpriteGradientHSBC"
{
Properties
{
[PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
_OverlayTex("Overlay Texture", 2D) = "white" {}
_OpacityTex("Opacity Mask", 2D) = "clear" {}
@elringus
elringus / NovelActorPerformance.cs
Created December 6, 2017 20:51
Promise aggregation
using UnityCommon;
/// <summary>
/// Represents a set of async actions performed by a <see cref="INovelActor"/> over time.
/// </summary>
public class NovelActorPerformance : AsyncAction<INovelActor>
{
public INovelActor Actor { get { return State; } }
private int performancesCount;
Shader "BlendModes/Extra/UIOverlay"
{
Properties
{
[PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
_OverlayTex1("Overlay Texture 1", 2D) = "white" {}
_OverlayTex2("Overlay Texture 2", 2D) = "white" {}
_OverlayTex3("Overlay Texture 3", 2D) = "white" {}
_OverlayTex4("Overlay Texture 4", 2D) = "white" {}
_OverlayTex5("Overlay Texture 5", 2D) = "white" {}
@elringus
elringus / UIBlured.shader
Last active November 2, 2017 13:29
Blend mode and blur effect combined for UI objects.
// Blend mode and blur effect combined for UI objects.
Shader "BlendModes/Extra/UIBlured"
{
Properties
{
[PerRendererData] _MainTex("Sprite Texture", 2D) = "white" {}
_Color("Tint", Color) = (1,1,1,1)
_BlurRadius("Blur Radius", Range(1, 20)) = 7
using UnityEngine;
namespace BlendModes
{
[RequireComponent(typeof(BlendModeEffect))]
public class TintColorUpdater : MonoBehaviour
{
private BlendModeEffect blendModeEffect;
private void Awake ()