Skip to content

Instantly share code, notes, and snippets.

@f-space
f-space / VertexTransformation.cs
Created Jul 11, 2016
頂点変換アニメーションのUnityエディタ拡張
View VertexTransformation.cs
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEditor;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.SceneManagement;
using UnityObject = UnityEngine.Object;
@f-space
f-space / UnityEditorPrefs.ps1
Created Aug 26, 2016
UnityのEditorPrefsで保存した値を操作するPowerShellスクリプト
View UnityEditorPrefs.ps1
Set-Variable -Name "DefaultUnityEditorVersion" -Value 5 -Option Constant -Scope Global
function global:Get-UnityEditorPrefPath()
{
[CmdletBinding()]
[OutputType([string])]
param
(
[Parameter(Mandatory=$false)]
[int] $Version = $DefaultUnityEditorVersion
@f-space
f-space / Program.cs
Created Sep 26, 2016
DXライブラリで三角形を回転させるサンプル (C#)
View Program.cs
using DxLibDLL;
using System;
using System.Diagnostics;
namespace DxLibTest
{
public static class Program
{
private static readonly float DegToRad = (float)(Math.PI / 180.0);
@f-space
f-space / PluginSystem.ts
Created Dec 2, 2016
RPGツクールMVでモジュールを管理するためのプラグイン。(TypeScript)
View PluginSystem.ts
/*!
/*:
* @plugindesc プラグインの管理システム
* @author F_
*
* @help
* プラグイン開発をサポートするプラグイン。
*
* 必ず最初に実行すること。
*
@f-space
f-space / PluginSystem.js
Created Dec 2, 2016
RPGツクールMVでモジュールを管理するためのプラグイン。(JavaScript)
View PluginSystem.js
/*!
/*:
* @plugindesc プラグインの管理システム
* @author F_
*
* @help
* プラグイン開発をサポートするプラグイン。
*
* 必ず最初に実行すること。
*
View Actor.cs
using UnityEngine;
public class Actor : MonoBehaviour
{
// Rigidbodyと大きさを受け取り、画面内に収まるように位置と速度を調節する
protected void EnsureInScreen(Rigidbody2D rigidbody, Vector2 size)
{
// いくつもの前提の下に動作することに注意
// 前提1:メインカメラはZ軸正方向を向いている
// 前提2:画像の中心位置とオブジェクトの位置が一致している
@f-space
f-space / blit.js
Created Oct 23, 2017
WebGLによるImageのコピー
View blit.js
const VS_SRC = `
attribute vec4 position;
attribute vec2 texcoord;
varying vec2 vTexcoord;
void main(void){
gl_Position = position;
vTexcoord = texcoord;
}
`;
@f-space
f-space / tsconfig-webpack-plugin.js
Last active Jun 14, 2018
Webpack resolver plugin for tsconfig.json (baseUrl, paths, rootDirs).
View tsconfig-webpack-plugin.js
const fs = require('fs');
const { posix, win32 } = require('path');
const path = (process.platform !== 'win32') ? posix : {
resolve() { return replaceSep(win32.resolve.apply(this, arguments)); },
relative() { return replaceSep(win32.relative.apply(this, arguments)); },
normalize() { return replaceSep(win32.normalize.apply(this, arguments)); },
join() { return replaceSep(win32.join.apply(this, arguments)); },
dirname() { return replaceSep(win32.dirname.apply(this, arguments)); },
};
@f-space
f-space / mixin.ts
Created Dec 18, 2017
TypeScript 'mixin' function for vue-class-component.
View mixin.ts
import { Vue } from 'vue/types/vue';
import { ComponentOptions } from 'vue/types/options';
type VueCtor<V extends Vue> = { new(...args: any[]): V };
type VueClass<V extends Vue> = VueCtor<V> & typeof Vue;
type MixinType<V extends Vue> = ComponentOptions<V> | VueClass<V>;
function mixin<
T extends VueClass<Vue>,
M1 extends Vue>(
@f-space
f-space / vuex-class-module.ts
Last active Mar 18, 2019
Decorators for class-style vuex modules.
View vuex-class-module.ts
import * as Vuex from 'vuex';
import 'reflect-metadata';
export const TypeSymbol = Symbol('type');
export interface IModule<R = any> {
readonly $state: any;
readonly $getters: any;
readonly $commit: Vuex.Commit;
readonly $dispatch: Vuex.Dispatch;