Skip to content

Instantly share code, notes, and snippets.

@kyubuns
kyubuns / HpGauge.cs
Created February 6, 2018 00:11
よくあるHPゲージが後追いでゆっくり減るやつにEasingをつける
private IEnumerator Sample12()
{
var hp = new ReactiveProperty<int>(100);
var gauge = new ReactiveProperty<float>(100.0f);
// HPゲージは、実際の値に1.5秒かけて追いつく
hp
.Select(x => Anime.Play(gauge.Value, x, Easing.EaseOutSine(TimeSpan.FromSeconds(1.5))))
.Switch()
.Subscribe(x => gauge.Value = x);
Anime.Play(new Vector3(-5f, 0f, 0f), new Vector3(5f, 0f, 0f), Motion.Uniform(4f))
.Wait(TimeSpan.FromSeconds(2.0f))
.Play(new Vector3(10f, 0f, 0f), Motion.Uniform(4f))
.SubscribeToPosition(cube);
namespace System.Linq
{
public static class LinqExtensions
{
public static string ToJoinString<T>(this IEnumerable<T> self)
{
return string.Join(", ", self);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using UniRx;
namespace Misc
{
public class QueueAsyncMessageBroker
{
private bool Running;
using UniRx;
namespace Development
{
public static class MessagePublisherExtensions
{
public static void PublishWithBaseType<T>(this IMessagePublisher self, T message)
{
self.Publish(message);
for (var baseType = typeof(T).BaseType; null != baseType; baseType = baseType.BaseType)
@kyubuns
kyubuns / MessagePackIikanzi.cs
Created November 28, 2017 07:29
MessagePack-CSharpで[MessagePackObject(true)]してたのを展開するやつ
using System;
using System.IO;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
namespace MessagePackIikanzi
using System.Threading.Tasks;
using UniRx;
using UnityEngine;
public class Sample1 : MonoBehaviour
{
public async Task Start()
{
var input = await MessageBroker.Default.Receive<Hoge>().First();
Debug.Log($"Result: {input.Value}");
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UniRx;
namespace Dev
{
public class Sandbox : MonoBehaviour
{
#!/bin/bash
# $HOME/accountsにgithubのユーザー名を行区切りで書いておく
# accountsファイルは空行可、先頭に#でコメントが書ける
set -eu
pushd "$HOME"
test -r accounts
using System;
using System.Collections.Generic;
using UnityEngine;
public class JsonTest : MonoBehaviour
{
void Start()
{
var json = Serialize();
Desirialize(json);