Skip to content

Instantly share code, notes, and snippets.

View nicloay's full-sized avatar
✌️

Nikolay nicloay

✌️
View GitHub Profile
using UnityEngine;
using UnityEngine.UI;
public class FrameCounter : MonoBehaviour
{
private Text _text;
void Awake()
{
_text = GetComponent<Text>();
}
/// <summary>
/// Provides support for lazy initialization.
/// </summary>
/// <typeparam name="T">Specifies the type of object that is being lazily initialized.</typeparam>
public sealed class Lazy<T>
{
private readonly object padlock = new object();
private readonly Func<T> createValue;
private bool isValueCreated;
private T value;
using UnityEngine;
using PaintCraft.Controllers;
using UnityEngine.Assertions;
using UnityEngine.UI;
[RequireComponent(typeof(RectTransform))]
public class RectToCanvasPosition : MonoBehaviour {
public ScreenCameraController ScreenCameraController;
RectTransform _rt;
@nicloay
nicloay / InvertedMaskImage.cs
Created April 12, 2018 11:08
Invert mask on UI element
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.UI;
public class InvertedMaskImage : Image {
public override Material materialForRendering
{
get
{
Material result = base.materialForRendering;
using UnityEngine;
using System.Collections;
using PaintCraft.Canvas.Configs;
using System.IO;
namespace PaintCraft.Canvas.Configs{
[CreateAssetMenu(menuName = "PaintCraft/StreamingColoringPageConfig")]
public class StreamingColoringPageConfig : AdvancedPageConfig
{
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Purchasing;
using UnityEngine.Purchasing.Security;
// Deriving the Purchaser class from IStoreListener enables it to receive messages from Unity Purchasing.
public class Purchaser : MonoBehaviour, IStoreListener
{
private static IStoreController m_StoreController; // The Unity Purchasing system.
private static IExtensionProvider m_StoreExtensionProvider; // The store-specific Purchasing subsystems.
using System.IO;
using UnityEditor;
using UnityEngine;
public class SyncTranslations
{
private static string _destFile = "Assets/Resources/Translations.txt";
private static string _url =
"https://docs.google.com/spreadsheets/d/xxxx/export?format=tsv&id=xxxx&gid=0";
@nicloay
nicloay / UnityCG.cginc
Created November 17, 2017 12:09
// Unity built-in shader source (5.6.4f1). Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)
// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)
#ifndef UNITY_CG_INCLUDED
#define UNITY_CG_INCLUDED
#define UNITY_PI 3.14159265359f
#define UNITY_TWO_PI 6.28318530718f
#define UNITY_FOUR_PI 12.56637061436f
#define UNITY_INV_PI 0.31830988618f
#define UNITY_INV_TWO_PI 0.15915494309f
@nicloay
nicloay / ArrayUtil.cs
Created November 14, 2017 14:34
array utilities
using UnityEngine;
public static class ArrayUtil {
public static int[] GetSequenceArray(int length)
{
int[] result = new int[length];
for (int i = 0; i < length; i++)
{
result[i] = i;
@nicloay
nicloay / CoroutineWaiter.cs
Last active October 9, 2017 13:08
You can use this as yield return CoroutineWatier(YourCoroutineHere());
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
public class CoroutineWaiter : IEnumerator {
public bool IsFinished { get; private set; }
private readonly Action _onFinish;
readonly Stack<IEnumerator> _stack= new Stack<IEnumerator>();