Skip to content

Instantly share code, notes, and snippets.

@zwcloud
zwcloud / SerializableSortedList.cs
Created February 26, 2024 05:42
Unity JsonUtility SerializableSortedList
[Serializable]
public class SerializableSortedList<TKey, TValue> : SortedList<TKey, TValue>, ISerializationCallbackReceiver
{
[SerializeField] private List<TKey> keys = new List<TKey>();
[SerializeField] private List<TValue> values = new List<TValue>();
// Unity serialization callback before serialization
public void OnBeforeSerialize()
{
keys.Clear();
@zwcloud
zwcloud / TinyTween.cs
Created September 28, 2021 03:09
A single file tween library in C# with support built in for XNA and Unity data types. MIT License.
// TinyTween.cs
//
// Copyright (c) 2013 Nick Gravelyn
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software
// and associated documentation files (the "Software"), to deal in the Software without restriction,
// including without limitation the rights to use, copy, modify, merge, publish, distribute,
// sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
@zwcloud
zwcloud / CustomAssetInspector.cs
Created July 24, 2021 10:01 — forked from StephenHodgson/CustomAssetInspector.cs
Unity custom inspector window to render markdown language as text asset.
using System;
using System.IO;
using UnityEditor;
using UnityEngine;
[CustomEditor(typeof(DefaultAsset))]
public class CustomAssetInspector : Editor
{
public override void OnInspectorGUI()
{
@zwcloud
zwcloud / TextureScaler.cs
Created January 4, 2020 14:14
A unility class with functions to scale Texture2D Data, by petersvp from http://answers.unity.com/answers/987332/view.html
using UnityEngine;
/// A unility class with functions to scale Texture2D Data.
///
/// Scale is performed on the GPU using RTT, so it's blazing fast.
/// Setting up and Getting back the texture data is the bottleneck.
/// But Scaling itself costs only 1 draw call and 1 RTT State setup!
/// WARNING: This script override the RTT Setup! (It sets a RTT!)
///
/// Note: This scaler does NOT support aspect ratio based scaling. You will have to do it yourself!
@zwcloud
zwcloud / Program.ts
Created March 1, 2019 08:56
Trying rxjs with javascriptcore.
/// <reference types="rx" />
class Program
{
static main(): void
{
console.log("1");
Rx.Observable.range(1, 10).subscribe(x => console.log(x));
console.log("2");
}
@zwcloud
zwcloud / ImageComparer.cs
Last active October 13, 2018 04:20 — forked from tocsoft/ImageComparer.cs
Compare 2 images using ImageSharp
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Primitives;
using SixLabors.ImageSharp.Processing;
using System;
using Xunit;
namespace ImageSharp.Extension
{
/// <summary>
@zwcloud
zwcloud / Dog.cs
Created November 21, 2016 08:38
An example on embedding Mono runtime in C/C++.
using System;
public class Dog
{
static public void Type()
{
Console.WriteLine("a Dog!");
}
public void Bark()
{
@zwcloud
zwcloud / meshtext.ms
Created November 11, 2015 04:44
MaxScript that convert a mesh into text.
tmesh = $Mesh0
num_verts = $Mesh0.numverts
num_faces = $Mesh0.numfaces
format "%,%\n" num_verts num_faces
units.MetricType = #meters
for v = 1 to num_verts do
(
vert = getVert tmesh v
if(abs vert.x < 0.001f) then vert.x = 0f
if(abs vert.y < 0.001f) then vert.y = 0f
@zwcloud
zwcloud / MarkdownDemo.md
Last active October 29, 2015 12:27
针对中文,演示Markdown的各种语法

针对中文,演示Markdown的各种语法

大标题

大标题一般显示工程名,类似html的<h1>
你只要在标题下面跟上=====即可

中标题

@zwcloud
zwcloud / SFMLDragableWindow.cs
Last active December 6, 2015 04:30
a SFML dragable window demo
using System;
using SFML.System;
using SFML.Window;
namespace DragableWindow
{
class DragableWindow : Window
{
private Vector2i grabbedOffset;
private bool grabbedWindow;