Skip to content

Instantly share code, notes, and snippets.

View HassakuTb's full-sized avatar
💭
🍊

Hassaku HassakuTb

💭
🍊
View GitHub Profile
@HassakuTb
HassakuTb / Homing.cs
Last active February 1, 2019 09:31
Homig object
using UnityEngine;
namespace Citrus.VectorComputes
{
/// <summary>
/// 対象を向くように回転しながら前進するオブジェクト
/// </summary>
public class Homing : MonoBehaviour
{
/// <summary>
using UnityEngine;
using UnityEngine.Audio;
using UnityEngine.UI;
namespace Citrus.Sound {
[RequireComponent(typeof(Slider))]
public class MixerVolumeSlider : MonoBehaviour{
[SerializeField] private AudioMixer audioMixer;
[SerializeField] private string volumeExposeParameter;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
[RequireComponent(typeof(Graphics))]
public class MouseOverDetector : MonoBehaviour{
[SerializeField] private GraphicRaycaster raycaster; // Required
@HassakuTb
HassakuTb / ChatLog.cs
Last active January 1, 2019 06:38
Room chat using PUN2 RaiseEvent
using System;
using System.Collections.Generic;
using UniRx;
namespace Citrus.Photon.Chat {
public class ChatLog : IDisposable {
public List<Statement> Log { get; private set; } = new List<Statement>();
private readonly Subject<Statement> onAnySpeakSubject = new Subject<Statement>();
@HassakuTb
HassakuTb / TimingSync.cs
Last active January 1, 2019 06:19
Sync timing all players in room without PhotonView. (PUN2 with Unity)
using ExitGames.Client.Photon;
using Photon.Pun;
using Photon.Realtime;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// PUN2 ルーム内タイミング合わせ
/// </summary>
@HassakuTb
HassakuTb / SequentialCoroutineRunner.cs
Last active August 4, 2020 08:50
Invoke sequence of coroutines for unity
/*
The zlib/libpng License (Zlib)
Copyright (c) 2018 Hassaku
This software is provided 'as-is', without any express or implied warranty.
In no event will the authors be held liable for any damages arising rom
the use of this software.
Permission is granted to anyone to use this software for any purpose,
using System.Collections;
using UnityEngine;
[RequireComponent(typeof(CanvasGroup))]
public class FadeOutScreen : MonoBehaviour{
[SerializeField] private float fadeTime = 0.2f;
[SerializeField] private AnimationCurve alphaCurve;
private CanvasGroup fadeGroup;
@HassakuTb
HassakuTb / FadeInWindow.cs
Last active November 12, 2018 02:19
UGUI Window that open with fade in animation
using System.Collections;
using UnityEngine;
namespace Citrus.UI{
/// <summary>
/// 開くときにフェードインするウインドウ
/// </summary>
[RequireComponent(typeof(CanvasGroup))]
public class FadeInWindow : MonoBehaviour {
@HassakuTb
HassakuTb / SceneSingletonMonoBehaviour.cs
Created October 16, 2018 01:49
MonoBehaviour that is accessed globally during scene is loaded.
using UnityEngine;
using UnityEngine.SceneManagement;
/// <summary>
/// 寿命がSceneのSingletonMonobehaviour
/// </summary>
/// <typeparam name="T"></typeparam>
public abstract class SceneSingletonMonoBeheviour<T> : MonoBehaviour
where T : SceneSingletonMonoBeheviour<T>{
@HassakuTb
HassakuTb / HitStopHandler.cs
Created October 12, 2018 00:37
simple hit stop for Unity
using System;
using UnityEngine;
using System.Collections;
public class HitStopHandler : MonoBehaviour {
public void HitStop(float stopTime, Action onResume)
{
StartCoroutine(HitStopCoroutine(stopTime, onResume));
}