「Unity/Csharp/シングルトン」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→MonoBehaviourを使ったシングルトン) |
|||
| 行1: | 行1: | ||
| + | ==通常シングルトン== | ||
| + | public class SampleManager { | ||
| + | private static SampleManager mInstance; | ||
| + | private SampleManager () { | ||
| + | } | ||
| + | public static SampleSingleton Instance { | ||
| + | get { | ||
| + | if( mInstance == null ) mInstance = new SampleManager(); | ||
| + | return mInstance; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
==MonoBehaviourを使ったシングルトン== | ==MonoBehaviourを使ったシングルトン== | ||
using System.Collections; | using System.Collections; | ||
2017年9月27日 (水) 16:46時点における版
通常シングルトン
public class SampleManager {
private static SampleManager mInstance;
private SampleManager () {
}
public static SampleSingleton Instance {
get {
if( mInstance == null ) mInstance = new SampleManager();
return mInstance;
}
}
}
MonoBehaviourを使ったシングルトン
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SampleManager : MonoBehaviour {
private static SampleManager mInstance;
public int x = 1;
private SampleManager () {
}
public static SampleManager Instance {
get {
if (mInstance == null) {
GameObject go = new GameObject("SampleManager");
mInstance = go.AddComponent<SampleManager>();
}
return mInstance;
}
}
void Start () {
}
void Update () {
}
}
使用方法
SampleManager manager = SampleManager.Instance;
Debug.Log("x=" + manager.x);
