1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003 |
- using System;
- using System.Collections.Generic;
- using System.IO;
- using UnityEngine;
- using UnityEngine.Events;
- using UnityEngine.UI;
- public class HandSignShortcut : MonoBehaviour
- {
- public static HandSignShortcut.Serializer config
- {
- get
- {
- HandSignShortcut.LoadDefault();
- return HandSignShortcut.m_Config;
- }
- }
- private static void LoadDefault()
- {
- if (HandSignShortcut.m_IsLoadedDefault)
- {
- return;
- }
- HandSignShortcut.m_IsLoadedDefault = true;
- HandSignShortcut.m_Config = HandSignShortcut.m_Config.ReadAndSet();
- }
- public bool IsLeftHand
- {
- get
- {
- return this.m_IsLeftHand;
- }
- set
- {
- this.m_IsLeftHand = value;
- }
- }
- public AVRController controller
- {
- get
- {
- return this.m_Controller;
- }
- private set
- {
- this.m_Controller = value;
- }
- }
- private CircleListSelectUI circleList
- {
- get
- {
- return this.m_CircleList;
- }
- set
- {
- this.m_CircleList = value;
- }
- }
- public bool isEnableHandUI
- {
- get
- {
- return this.circleList != null && this.circleList.gameObject.activeSelf;
- }
- set
- {
- if (this.circleList != null && this.circleList.gameObject.activeSelf != value)
- {
- this.circleList.gameObject.SetActive(value);
- }
- }
- }
- public void Init(bool isLeftHand)
- {
- this.IsLeftHand = isLeftHand;
- Debug.Log("初期化:ハンドサインのショートカットを実行するコンポーネント");
- this.controller = ((!isLeftHand) ? GameMain.Instance.OvrMgr.ovr_obj.right_controller.controller : GameMain.Instance.OvrMgr.ovr_obj.left_controller.controller);
- this.InitHand();
- this.InitCircleUI();
- }
- private void InitHand()
- {
- Maid maid = this.GetMaid();
- Transform t;
- string[] array;
- if (this.IsLeftHand)
- {
- t = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Hand", true);
- array = HandSignShortcut.strHandBoneNameL;
- }
- else
- {
- t = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Hand", true);
- array = HandSignShortcut.strHandBoneNameR;
- }
- this.m_TransformFingerArray = new Transform[array.Length];
- for (int i = 0; i < array.Length; i++)
- {
- this.m_TransformFingerArray[i] = CMT.SearchObjName(t, array[i], true);
- }
- }
- private void InitCircleUI()
- {
- string text = "OVR/CircleCommandUI/HandSignDataShortcut(Cotroller)";
- GameObject gameObject = Resources.Load<GameObject>(text);
- if (gameObject == null)
- {
- NDebug.Assert("[HandSignShortcut] " + text + "\nプレハブが見つかりません", false);
- }
- GameObject gameObject2 = UnityEngine.Object.Instantiate<GameObject>(gameObject);
- this.circleList = gameObject2.GetComponent<CircleListSelectUI>();
- this.CreateItemList(8);
- CircleCommandUI circleCommandUI = this.circleList.circleCommandUI;
- circleCommandUI.onSelect.AddListener(new UnityAction<GameObject>(this.OnSelectItem));
- circleCommandUI.onDeselect.AddListener(new UnityAction<GameObject>(this.OnDeselectItem));
- circleCommandUI.onDecide.AddListener(new UnityAction<GameObject>(this.OnDecide));
- this.circleList.controller = this.controller;
- Transform transform = gameObject2.transform;
- transform.SetParent(base.transform);
- transform.localPosition = Vector3.zero;
- transform.localRotation = Quaternion.identity;
- transform.localScale = Vector3.one;
- Vector3 b = new Vector3(0.03f, 0.15f, -0.05f);
- Vector3 localEulerAngles = new Vector3(35f, 15f, 0f);
- if (this.IsLeftHand)
- {
- b.Scale(new Vector3(-1f, 1f, 1f));
- localEulerAngles.Scale(new Vector3(1f, -1f, -1f));
- }
- transform.localPosition += b;
- transform.localEulerAngles = localEulerAngles;
- GameObject childObject = UTY.GetChildObject(this.circleList.gameObject, "CircleCommandUI/text right hand", false);
- childObject.GetComponent<Text>().text = ((!this.IsLeftHand) ? "右" : "左");
- }
- private void CreateItemList(int count)
- {
- List<HandSignShortcut.MaidFingerData> dataList = HandSignShortcut.config.maidFingerDataList;
- CircleCommandUI circleCommandUI = this.circleList.circleCommandUI;
- circleCommandUI.Show<Transform>(count, delegate(int index, Transform trans)
- {
- Text componentInChildren = trans.GetComponentInChildren<Text>();
- trans.localScale = Vector3.one * 0.5f;
- HandSignShortcut.ItemData itemData = trans.gameObject.AddComponent<HandSignShortcut.ItemData>();
- itemData.text = componentInChildren;
- if (index == 0)
- {
- itemData.data = null;
- return;
- }
- if (dataList.Count > index - 1)
- {
- itemData.data = dataList[index - 1];
- }
- else
- {
- itemData.data = null;
- }
- });
- }
- private void OnSelectItem(GameObject item)
- {
- if (item == null)
- {
- return;
- }
- Graphic component = item.GetComponent<Graphic>();
- if (component != null)
- {
- component.color = Color.red;
- }
- item.transform.localScale = Vector3.one;
- item.transform.SetAsLastSibling();
- if (ControllerShortcutSettingData.config.isDirectMode)
- {
- HandSignShortcut.ItemData component2 = item.GetComponent<HandSignShortcut.ItemData>();
- if (component2 != null)
- {
- this.m_NowTargetFingerData = component2.data;
- }
- else
- {
- this.m_NowTargetFingerData = null;
- }
- }
- }
- private void OnDeselectItem(GameObject item)
- {
- if (item == null)
- {
- return;
- }
- Graphic component = item.GetComponent<Graphic>();
- if (component != null)
- {
- Color white = Color.white;
- white.a = 0.5f;
- component.color = white;
- }
- item.transform.localScale = Vector3.one * 0.5f;
- }
- private void OnDecide(GameObject selectItem)
- {
- if (selectItem == null)
- {
- Debug.LogWarning("選択項目にnullが入った");
- return;
- }
- this.OnDeselectItem(selectItem);
- if (!ControllerShortcutSettingData.config.isEveryShowMode)
- {
- this.m_CircleList.SetActiveUI(false);
- }
- if (ControllerShortcutSettingData.config.isDirectMode)
- {
- return;
- }
- HandSignShortcut.ItemData component = selectItem.GetComponent<HandSignShortcut.ItemData>();
- if (component != null)
- {
- this.m_NowTargetFingerData = component.data;
- }
- else
- {
- this.m_NowTargetFingerData = null;
- }
- }
- private void Update()
- {
- if (this.m_NowTargetFingerData != null)
- {
- this.UpdateFinger(this.m_NowTargetFingerData);
- }
- else
- {
- this.UpdateHandSign();
- }
- }
- private void UpdateHandSign()
- {
- if (this.controller == null || !this.controller.HandEnable)
- {
- return;
- }
- AVRControllerButtons vrcontrollerButtons = this.controller.VRControllerButtons;
- if (vrcontrollerButtons != null)
- {
- if (GameMain.Instance.VRDeviceTypeID == GameMain.VRDeviceType.RIFT_TOUCH)
- {
- if (vrcontrollerButtons.GetTouch(AVRControllerButtons.TOUCH.REST) || vrcontrollerButtons.GetTouch(AVRControllerButtons.TOUCH.XA) || vrcontrollerButtons.GetTouch(AVRControllerButtons.TOUCH.YB))
- {
- this.FingerRateTarget(HandSignShortcut.Finger.Thumb, 1f);
- }
- else
- {
- this.FingerRateTarget(HandSignShortcut.Finger.Thumb, 0f);
- }
- if (vrcontrollerButtons.GetPress(AVRControllerButtons.BTN.TRIGGER))
- {
- this.FingerRateTarget(HandSignShortcut.Finger.Index, 1f);
- }
- else if (vrcontrollerButtons.GetTouch(AVRControllerButtons.TOUCH.TRIGGER))
- {
- this.FingerRateTarget(HandSignShortcut.Finger.Index, 0.5f);
- }
- else
- {
- this.FingerRateTarget(HandSignShortcut.Finger.Index, 0f);
- }
- if (vrcontrollerButtons.GetPress(AVRControllerButtons.BTN.GRIP))
- {
- this.FingerRateTarget(HandSignShortcut.Finger.Middle, 1f);
- this.FingerRateTarget(HandSignShortcut.Finger.Ring, 1f);
- this.FingerRateTarget(HandSignShortcut.Finger.Little, 1f);
- }
- else
- {
- this.FingerRateTarget(HandSignShortcut.Finger.Middle, 0f);
- this.FingerRateTarget(HandSignShortcut.Finger.Ring, 0f);
- this.FingerRateTarget(HandSignShortcut.Finger.Little, 0f);
- }
- }
- else if (GameMain.Instance.VRDeviceTypeID == GameMain.VRDeviceType.VIVE)
- {
- this.FingerRateTarget(HandSignShortcut.Finger.Thumb, vrcontrollerButtons.GetTriggerRate());
- this.FingerRateTarget(HandSignShortcut.Finger.Index, vrcontrollerButtons.GetTriggerRate());
- this.FingerRateTarget(HandSignShortcut.Finger.Middle, vrcontrollerButtons.GetTriggerRate());
- this.FingerRateTarget(HandSignShortcut.Finger.Ring, vrcontrollerButtons.GetTriggerRate());
- this.FingerRateTarget(HandSignShortcut.Finger.Little, vrcontrollerButtons.GetTriggerRate());
- }
- }
- for (int i = 0; i < 5; i++)
- {
- this.FingerRateUpdate((HandSignShortcut.Finger)i, this.m_fTargetRate[i]);
- }
- }
- private void FingerRateTarget(HandSignShortcut.Finger f_eFinger, float f_fRate)
- {
- this.m_fTargetRate[(int)f_eFinger] = f_fRate;
- }
- private void FingerRateUpdate(HandSignShortcut.Finger f_eFinger, float f_fRate)
- {
- int num = (int)(f_eFinger * HandSignShortcut.Finger.Ring);
- for (int i = num; i < num + 3; i++)
- {
- if (this.IsLeftHand)
- {
- this.m_TransformFingerArray[i].localRotation = Quaternion.Lerp(this.m_TransformFingerArray[i].localRotation, Quaternion.Lerp(HandSignShortcut.m_aryHandRot[0, i], HandSignShortcut.m_aryHandRot[1, i], f_fRate), 0.25f);
- }
- else
- {
- this.m_TransformFingerArray[i].localRotation = Quaternion.Lerp(this.m_TransformFingerArray[i].localRotation, Quaternion.Lerp(HandSignShortcut.m_aryHandRot[2, i], HandSignShortcut.m_aryHandRot[3, i], f_fRate), 0.25f);
- }
- }
- }
- private void UpdateFinger(HandSignShortcut.MaidFingerData data)
- {
- Quaternion[] array = (!this.IsLeftHand) ? data.rightFingerData : data.leftFingerData;
- for (int i = 0; i < this.m_TransformFingerArray.Length; i++)
- {
- this.m_TransformFingerArray[i].localRotation = Quaternion.Lerp(this.m_TransformFingerArray[i].localRotation, array[i], 0.25f);
- }
- }
- private Maid GetMaid()
- {
- CharacterMgr characterMgr = GameMain.Instance.CharacterMgr;
- return characterMgr.GetMaid(0);
- }
- private void OnApplicationQuit()
- {
- this.m_IsQuitting = true;
- }
- private void OnDestroy()
- {
- if (this.m_IsQuitting)
- {
- return;
- }
- if (this.circleList != null && this.circleList.gameObject != null)
- {
- UnityEngine.Object.Destroy(this.circleList.gameObject);
- Debug.Log("[HandSignShortcut] コントローラについているUIを破棄しました");
- }
- }
- static HandSignShortcut()
- {
- // Note: this type is marked as 'beforefieldinit'.
- Quaternion[,] array = new Quaternion[4, 15];
- array[0, 0] = new Quaternion(1.379457E-08f, -1.907173E-10f, -0.1001217f, 0.9949752f);
- array[0, 1] = new Quaternion(-3.348364E-08f, -2.288052E-09f, -0.05697599f, 0.9983756f);
- array[0, 2] = new Quaternion(0.4853954f, -0.1902075f, 0.1155978f, 0.8454878f);
- array[0, 3] = new Quaternion(-2.555888E-09f, 1.190041E-09f, -0.08838178f, 0.9960867f);
- array[0, 4] = new Quaternion(-3.708266E-09f, -4.232382E-11f, -0.1423017f, 0.9898233f);
- array[0, 5] = new Quaternion(0.005196964f, -0.009313619f, -0.07643344f, 0.9970177f);
- array[0, 6] = new Quaternion(1.469708E-09f, -2.337872E-09f, -0.08838177f, 0.9960867f);
- array[0, 7] = new Quaternion(-4.677417E-09f, -1.311283E-08f, -0.1086997f, 0.9940746f);
- array[0, 8] = new Quaternion(-0.001879324f, -0.005337666f, -0.0991221f, 0.9950592f);
- array[0, 9] = new Quaternion(-8.490085E-09f, -1.805363E-09f, -0.0796621f, 0.9968219f);
- array[0, 10] = new Quaternion(2.300491E-09f, 3.334659E-09f, -0.1239805f, 0.9922847f);
- array[0, 11] = new Quaternion(-0.006921342f, 0.001893361f, -0.09829046f, 0.9951319f);
- array[0, 12] = new Quaternion(-5.701029E-09f, -1.521331E-09f, -0.05449884f, 0.9985139f);
- array[0, 13] = new Quaternion(3.803335E-09f, -5.725684E-09f, -0.1423017f, 0.9898233f);
- array[0, 14] = new Quaternion(-0.01357147f, 0.02850812f, -0.08513741f, 0.9958689f);
- array[1, 0] = new Quaternion(6.932151E-09f, -2.730647E-09f, -0.3665012f, 0.9304176f);
- array[1, 1] = new Quaternion(-1.952852E-08f, -2.699741E-08f, -0.1618618f, 0.9868135f);
- array[1, 2] = new Quaternion(0.7708589f, -0.2672266f, 0.03713043f, 0.577051f);
- array[1, 3] = new Quaternion(9.870518E-10f, 1.579613E-09f, -0.5299194f, 0.8480481f);
- array[1, 4] = new Quaternion(-5.034789E-09f, -5.799267E-09f, -0.8191521f, 0.5735765f);
- array[1, 5] = new Quaternion(0.0478053f, -0.01974053f, -0.5880075f, 0.8072003f);
- array[1, 6] = new Quaternion(8.812074E-09f, -1.401741E-08f, -0.5299194f, 0.8480481f);
- array[1, 7] = new Quaternion(-1.043265E-08f, 1.477225E-09f, -0.7992581f, 0.6009881f);
- array[1, 8] = new Quaternion(-0.009090314f, -0.01649067f, -0.6061373f, 0.7951371f);
- array[1, 9] = new Quaternion(-2.784401E-08f, 1.160059E-08f, -0.5224781f, 0.8526527f);
- array[1, 10] = new Quaternion(1.204624E-08f, 8.771129E-09f, -0.8084095f, 0.5886205f);
- array[1, 11] = new Quaternion(-0.04368013f, 0.007996441f, -0.6048046f, 0.7951349f);
- array[1, 12] = new Quaternion(-3.325827E-08f, 2.027481E-09f, -0.5008097f, 0.8655574f);
- array[1, 13] = new Quaternion(4.887594E-09f, -3.295959E-08f, -0.8191521f, 0.5735765f);
- array[1, 14] = new Quaternion(-0.09800828f, 0.05454942f, -0.591058f, 0.7987924f);
- array[2, 0] = new Quaternion(-1.299039E-08f, 7.939377E-10f, -0.08632442f, 0.9962671f);
- array[2, 1] = new Quaternion(-1.412307E-08f, -4.882294E-09f, -0.05340298f, 0.9985731f);
- array[2, 2] = new Quaternion(-0.4710969f, 0.1764064f, 0.1206711f, 0.8557962f);
- array[2, 3] = new Quaternion(-1.785701E-09f, -1.246846E-08f, -0.06366991f, 0.9979711f);
- array[2, 4] = new Quaternion(-5.778726E-11f, -1.242248E-08f, -0.1014653f, 0.9948391f);
- array[2, 5] = new Quaternion(-0.002611603f, 0.001185287f, -0.04763259f, 0.9988608f);
- array[2, 6] = new Quaternion(1.790176E-09f, -1.245129E-08f, -0.0636699f, 0.9979711f);
- array[2, 7] = new Quaternion(5.652268E-09f, 1.780454E-09f, -0.06771687f, 0.9977046f);
- array[2, 8] = new Quaternion(0.001466242f, 0.004677885f, -0.07036161f, 0.9975095f);
- array[2, 9] = new Quaternion(7.64029E-09f, 7.058498E-09f, -0.05493468f, 0.99849f);
- array[2, 10] = new Quaternion(-2.104634E-09f, -7.598384E-09f, -0.08305829f, 0.9965447f);
- array[2, 11] = new Quaternion(0.004817214f, 0.003811401f, -0.0695642f, 0.9975586f);
- array[2, 12] = new Quaternion(2.864904E-09f, -1.440215E-08f, -0.02973721f, 0.9995578f);
- array[2, 13] = new Quaternion(-7.071282E-10f, -5.241497E-09f, -0.1014653f, 0.9948391f);
- array[2, 14] = new Quaternion(0.00861063f, -0.01516612f, -0.05657673f, 0.998246f);
- array[3, 0] = new Quaternion(7.66758E-09f, -1.102812E-08f, -0.3665012f, 0.9304176f);
- array[3, 1] = new Quaternion(-8.709043E-09f, -7.065411E-09f, -0.1618618f, 0.9868135f);
- array[3, 2] = new Quaternion(-0.7708589f, 0.2672265f, 0.03713048f, 0.577051f);
- array[3, 3] = new Quaternion(-8.292553E-09f, 7.889813E-10f, -0.5299194f, 0.8480481f);
- array[3, 4] = new Quaternion(6.103158E-09f, 4.273478E-09f, -0.8191521f, 0.5735765f);
- array[3, 5] = new Quaternion(-0.0478053f, 0.01974053f, -0.5880075f, 0.8072003f);
- array[3, 6] = new Quaternion(-1.288366E-08f, 7.501511E-09f, -0.5299194f, 0.8480481f);
- array[3, 7] = new Quaternion(1.786481E-08f, 1.343313E-08f, -0.7992581f, 0.6009881f);
- array[3, 8] = new Quaternion(0.009090304f, 0.01649068f, -0.6061373f, 0.7951371f);
- array[3, 9] = new Quaternion(1.513849E-08f, -3.815058E-09f, -0.5224782f, 0.8526527f);
- array[3, 10] = new Quaternion(-1.643181E-08f, -2.748009E-09f, -0.8084095f, 0.5886205f);
- array[3, 11] = new Quaternion(0.04368011f, -0.007996418f, -0.6048046f, 0.7951349f);
- array[3, 12] = new Quaternion(1.196498E-08f, -9.074872E-09f, -0.5008097f, 0.8655574f);
- array[3, 13] = new Quaternion(-4.887593E-09f, 3.295959E-08f, -0.8191521f, 0.5735765f);
- array[3, 14] = new Quaternion(0.09800829f, -0.0545494f, -0.5910579f, 0.7987924f);
- HandSignShortcut.m_aryHandRot = array;
- }
- [SerializeField]
- private CircleListSelectUI m_CircleList;
- private static HandSignShortcut.Serializer m_Config = new HandSignShortcut.Serializer();
- private static bool m_IsLoadedDefault = false;
- private Transform[] m_TransformFingerArray;
- private static readonly string[] strHandBoneNameL = new string[]
- {
- "Bip01 L Finger02",
- "Bip01 L Finger01",
- "Bip01 L Finger0",
- "Bip01 L Finger12",
- "Bip01 L Finger11",
- "Bip01 L Finger1",
- "Bip01 L Finger22",
- "Bip01 L Finger21",
- "Bip01 L Finger2",
- "Bip01 L Finger32",
- "Bip01 L Finger31",
- "Bip01 L Finger3",
- "Bip01 L Finger42",
- "Bip01 L Finger41",
- "Bip01 L Finger4"
- };
- private static readonly string[] strHandBoneNameR = new string[]
- {
- "Bip01 R Finger02",
- "Bip01 R Finger01",
- "Bip01 R Finger0",
- "Bip01 R Finger12",
- "Bip01 R Finger11",
- "Bip01 R Finger1",
- "Bip01 R Finger22",
- "Bip01 R Finger21",
- "Bip01 R Finger2",
- "Bip01 R Finger32",
- "Bip01 R Finger31",
- "Bip01 R Finger3",
- "Bip01 R Finger42",
- "Bip01 R Finger41",
- "Bip01 R Finger4"
- };
- private static readonly Quaternion[,] m_aryHandRot;
- private bool m_IsLeftHand;
- private AVRController m_Controller;
- private float[] m_fTargetRate = new float[5];
- private HandSignShortcut.MaidFingerData m_NowTargetFingerData;
- private bool m_IsQuitting;
- [Serializable]
- public class Serializer : ISerializationCallbackReceiver
- {
- public void OnBeforeSerialize()
- {
- this.m_nVersion = 1130;
- }
- public void OnAfterDeserialize()
- {
- }
- public bool Write()
- {
- string contents = JsonUtility.ToJson(this, true);
- string path = Path.GetFullPath(".\\") + "MaidFingerDataList.json";
- try
- {
- File.WriteAllText(path, contents);
- }
- catch
- {
- Debug.LogError("MaidFingerDataList.json の書き込みに失敗。");
- return false;
- }
- return true;
- }
- public HandSignShortcut.Serializer ReadAndSet()
- {
- string path = Path.GetFullPath(".\\") + "MaidFingerDataList.json";
- if (!File.Exists(path))
- {
- this.CreateDefaultData();
- this.Write();
- }
- string json;
- try
- {
- json = File.ReadAllText(path);
- }
- catch
- {
- Debug.LogError("MaidFingerDataList.json の読込に失敗。");
- return this;
- }
- return JsonUtility.FromJson<HandSignShortcut.Serializer>(json);
- }
- private void CreateDefaultData()
- {
- this.maidFingerDataList = new List<HandSignShortcut.MaidFingerData>();
- this.maidFingerDataList.Add(new HandSignShortcut.MaidFingerData("パー", new Quaternion[]
- {
- new Quaternion(1.467912E-08f, -6.667659E-09f, -0.04146498f, 0.99914f),
- new Quaternion(-1.327911E-08f, 7.618504E-09f, -0.006113322f, 0.9999813f),
- new Quaternion(0.3676831f, -0.3100421f, 0.1039245f, 0.8705646f),
- new Quaternion(-1.67299E-09f, 3.947202E-09f, -0.01237995f, 0.9999234f),
- new Quaternion(-1.825179E-09f, 3.798766E-09f, -0.01925841f, 0.9998146f),
- new Quaternion(0.0009547397f, -0.1243148f, 0.01200425f, 0.9921698f),
- new Quaternion(2.058673E-10f, -3.274742E-10f, -0.01237995f, 0.9999234f),
- new Quaternion(-3.4198E-09f, -1.477873E-08f, 0.01461135f, 0.9998932f),
- new Quaternion(-0.0006127622f, -0.003308513f, -0.01102171f, 0.9999336f),
- new Quaternion(-7.097293E-09f, -1.542719E-08f, -0.003629622f, 0.9999934f),
- new Quaternion(1.494679E-09f, -1.210031E-08f, -0.0007735032f, 0.9999997f),
- new Quaternion(-0.0008713655f, 0.08438367f, -0.010264f, 0.9963801f),
- new Quaternion(-1.4273E-09f, -7.799848E-09f, 0.02158942f, 0.9997669f),
- new Quaternion(2.313607E-09f, -7.748858E-10f, -0.01925842f, 0.9998146f),
- new Quaternion(-0.002091327f, 0.2073798f, 0.002760789f, 0.9782544f)
- }, new Quaternion[]
- {
- new Quaternion(-1.467912E-08f, 6.667659E-09f, -0.04146498f, 0.99914f),
- new Quaternion(1.327911E-08f, -7.618504E-09f, -0.006113322f, 0.9999813f),
- new Quaternion(-0.3676831f, 0.3100421f, 0.1039245f, 0.8705646f),
- new Quaternion(1.67299E-09f, -3.947202E-09f, -0.01237995f, 0.9999234f),
- new Quaternion(1.825179E-09f, -3.798766E-09f, -0.01925841f, 0.9998146f),
- new Quaternion(-0.0009547397f, 0.1243148f, 0.01200425f, 0.9921698f),
- new Quaternion(-2.058673E-10f, 3.274742E-10f, -0.01237995f, 0.9999234f),
- new Quaternion(3.4198E-09f, 1.477873E-08f, 0.01461135f, 0.9998932f),
- new Quaternion(0.0006127622f, 0.003308513f, -0.01102171f, 0.9999336f),
- new Quaternion(7.097293E-09f, 1.542719E-08f, -0.003629622f, 0.9999934f),
- new Quaternion(-1.494679E-09f, 1.210031E-08f, -0.0007735032f, 0.9999997f),
- new Quaternion(0.0008713655f, -0.08438367f, -0.010264f, 0.9963801f),
- new Quaternion(1.4273E-09f, 7.799848E-09f, 0.02158942f, 0.9997669f),
- new Quaternion(-2.313607E-09f, 7.748858E-10f, -0.01925842f, 0.9998146f),
- new Quaternion(0.002091327f, -0.2073798f, 0.002760789f, 0.9782544f)
- }));
- this.maidFingerDataList.Add(new HandSignShortcut.MaidFingerData("チョキ", new Quaternion[]
- {
- new Quaternion(6.932151E-09f, -2.730647E-09f, -0.3665012f, 0.9304176f),
- new Quaternion(-1.952852E-08f, -2.699741E-08f, -0.1618618f, 0.9868135f),
- new Quaternion(0.7708589f, -0.2672266f, 0.03713044f, 0.577051f),
- new Quaternion(-1.692222E-09f, 3.961451E-09f, -0.008243912f, 0.999966f),
- new Quaternion(-1.793476E-09f, 3.862969E-09f, -0.01279752f, 0.9999181f),
- new Quaternion(0.0005797216f, -0.1249451f, 0.01676745f, 0.9920218f),
- new Quaternion(1.370887E-10f, -2.180677E-10f, -0.008243906f, 0.999966f),
- new Quaternion(-3.352409E-09f, -1.485988E-08f, 0.02107204f, 0.999778f),
- new Quaternion(-0.0005442168f, -0.003198181f, -0.006260789f, 0.9999751f),
- new Quaternion(-2.784401E-08f, 1.160059E-08f, -0.5224781f, 0.8526527f),
- new Quaternion(1.204624E-08f, 8.771128E-09f, -0.8084095f, 0.5886205f),
- new Quaternion(-0.04368013f, 0.00799644f, -0.6048046f, 0.7951349f),
- new Quaternion(-3.325827E-08f, 2.027481E-09f, -0.5008098f, 0.8655574f),
- new Quaternion(4.887593E-09f, -3.295959E-08f, -0.819152f, 0.5735765f),
- new Quaternion(-0.09800828f, 0.05454942f, -0.591058f, 0.7987923f)
- }, new Quaternion[]
- {
- new Quaternion(-6.932151E-09f, 2.730647E-09f, -0.3665012f, 0.9304176f),
- new Quaternion(1.952852E-08f, 2.699741E-08f, -0.1618618f, 0.9868135f),
- new Quaternion(-0.7708589f, 0.2672266f, 0.03713044f, 0.577051f),
- new Quaternion(1.692222E-09f, -3.961451E-09f, -0.008243912f, 0.999966f),
- new Quaternion(1.793476E-09f, -3.862969E-09f, -0.01279752f, 0.9999181f),
- new Quaternion(-0.0005797216f, 0.1249451f, 0.01676745f, 0.9920218f),
- new Quaternion(-1.370887E-10f, 2.180677E-10f, -0.008243906f, 0.999966f),
- new Quaternion(3.352409E-09f, 1.485988E-08f, 0.02107204f, 0.999778f),
- new Quaternion(0.0005442168f, 0.003198181f, -0.006260789f, 0.9999751f),
- new Quaternion(2.784401E-08f, -1.160059E-08f, -0.5224781f, 0.8526527f),
- new Quaternion(-1.204624E-08f, -8.771128E-09f, -0.8084095f, 0.5886205f),
- new Quaternion(0.04368013f, -0.00799644f, -0.6048046f, 0.7951349f),
- new Quaternion(3.325827E-08f, -2.027481E-09f, -0.5008098f, 0.8655574f),
- new Quaternion(-4.887593E-09f, 3.295959E-08f, -0.819152f, 0.5735765f),
- new Quaternion(0.09800828f, -0.05454942f, -0.591058f, 0.7987923f)
- }));
- this.maidFingerDataList.Add(new HandSignShortcut.MaidFingerData("グー", new Quaternion[]
- {
- new Quaternion(6.932151E-09f, -2.730646E-09f, -0.3665012f, 0.9304176f),
- new Quaternion(-1.952852E-08f, -2.699741E-08f, -0.1618618f, 0.9868135f),
- new Quaternion(0.7708589f, -0.2672266f, 0.03713043f, 0.577051f),
- new Quaternion(9.870518E-10f, 1.579613E-09f, -0.5299194f, 0.8480481f),
- new Quaternion(-5.034789E-09f, -5.799266E-09f, -0.819152f, 0.5735765f),
- new Quaternion(0.04780529f, -0.01974053f, -0.5880075f, 0.8072002f),
- new Quaternion(8.812074E-09f, -1.401741E-08f, -0.5299194f, 0.8480481f),
- new Quaternion(-1.043265E-08f, 1.477225E-09f, -0.7992581f, 0.6009881f),
- new Quaternion(-0.009090314f, -0.01649067f, -0.6061373f, 0.7951371f),
- new Quaternion(-2.784401E-08f, 1.160059E-08f, -0.5224781f, 0.8526527f),
- new Quaternion(1.204624E-08f, 8.771128E-09f, -0.8084095f, 0.5886205f),
- new Quaternion(-0.04368013f, 0.00799644f, -0.6048046f, 0.7951349f),
- new Quaternion(-3.325827E-08f, 2.027481E-09f, -0.5008098f, 0.8655574f),
- new Quaternion(4.887593E-09f, -3.295959E-08f, -0.819152f, 0.5735765f),
- new Quaternion(-0.09800828f, 0.05454942f, -0.591058f, 0.7987923f)
- }, new Quaternion[]
- {
- new Quaternion(-6.932151E-09f, 2.730646E-09f, -0.3665012f, 0.9304176f),
- new Quaternion(1.952852E-08f, 2.699741E-08f, -0.1618618f, 0.9868135f),
- new Quaternion(-0.7708589f, 0.2672266f, 0.03713043f, 0.577051f),
- new Quaternion(-9.870518E-10f, -1.579613E-09f, -0.5299194f, 0.8480481f),
- new Quaternion(5.034789E-09f, 5.799266E-09f, -0.819152f, 0.5735765f),
- new Quaternion(-0.04780529f, 0.01974053f, -0.5880075f, 0.8072002f),
- new Quaternion(-8.812074E-09f, 1.401741E-08f, -0.5299194f, 0.8480481f),
- new Quaternion(1.043265E-08f, -1.477225E-09f, -0.7992581f, 0.6009881f),
- new Quaternion(0.009090314f, 0.01649067f, -0.6061373f, 0.7951371f),
- new Quaternion(2.784401E-08f, -1.160059E-08f, -0.5224781f, 0.8526527f),
- new Quaternion(-1.204624E-08f, -8.771128E-09f, -0.8084095f, 0.5886205f),
- new Quaternion(0.04368013f, -0.00799644f, -0.6048046f, 0.7951349f),
- new Quaternion(3.325827E-08f, -2.027481E-09f, -0.5008098f, 0.8655574f),
- new Quaternion(-4.887593E-09f, 3.295959E-08f, -0.819152f, 0.5735765f),
- new Quaternion(0.09800828f, -0.05454942f, -0.591058f, 0.7987923f)
- }));
- this.maidFingerDataList.Add(new HandSignShortcut.MaidFingerData("指差し", new Quaternion[]
- {
- new Quaternion(6.932151E-09f, -2.730647E-09f, -0.3665012f, 0.9304176f),
- new Quaternion(-1.952852E-08f, -2.699741E-08f, -0.1618618f, 0.9868135f),
- new Quaternion(0.7708589f, -0.2672266f, 0.03713044f, 0.577051f),
- new Quaternion(-1.730466E-09f, 3.989648E-09f, 1.928734E-09f, 1f),
- new Quaternion(-1.730466E-09f, 3.989648E-09f, 1.928734E-09f, 1f),
- new Quaternion(-0.0001667258f, -0.1261909f, 0.02624661f, 0.9916587f),
- new Quaternion(8.812074E-09f, -1.401741E-08f, -0.5299194f, 0.8480481f),
- new Quaternion(-1.043265E-08f, 1.477225E-09f, -0.7992581f, 0.6009881f),
- new Quaternion(-0.009090314f, -0.01649067f, -0.6061373f, 0.7951371f),
- new Quaternion(-2.784401E-08f, 1.160059E-08f, -0.5224781f, 0.8526527f),
- new Quaternion(1.204624E-08f, 8.771128E-09f, -0.8084095f, 0.5886205f),
- new Quaternion(-0.04368013f, 0.00799644f, -0.6048046f, 0.7951349f),
- new Quaternion(-3.325827E-08f, 2.027481E-09f, -0.5008098f, 0.8655574f),
- new Quaternion(4.887593E-09f, -3.295959E-08f, -0.819152f, 0.5735765f),
- new Quaternion(-0.09800828f, 0.05454942f, -0.591058f, 0.7987923f)
- }, new Quaternion[]
- {
- new Quaternion(-6.932151E-09f, 2.730647E-09f, -0.3665012f, 0.9304176f),
- new Quaternion(1.952852E-08f, 2.699741E-08f, -0.1618618f, 0.9868135f),
- new Quaternion(-0.7708589f, 0.2672266f, 0.03713044f, 0.577051f),
- new Quaternion(1.730466E-09f, -3.989648E-09f, 1.928734E-09f, 1f),
- new Quaternion(1.730466E-09f, -3.989648E-09f, 1.928734E-09f, 1f),
- new Quaternion(0.0001667258f, 0.1261909f, 0.02624661f, 0.9916587f),
- new Quaternion(-8.812074E-09f, 1.401741E-08f, -0.5299194f, 0.8480481f),
- new Quaternion(1.043265E-08f, -1.477225E-09f, -0.7992581f, 0.6009881f),
- new Quaternion(0.009090314f, 0.01649067f, -0.6061373f, 0.7951371f),
- new Quaternion(2.784401E-08f, -1.160059E-08f, -0.5224781f, 0.8526527f),
- new Quaternion(-1.204624E-08f, -8.771128E-09f, -0.8084095f, 0.5886205f),
- new Quaternion(0.04368013f, -0.00799644f, -0.6048046f, 0.7951349f),
- new Quaternion(3.325827E-08f, -2.027481E-09f, -0.5008098f, 0.8655574f),
- new Quaternion(-4.887593E-09f, 3.295959E-08f, -0.819152f, 0.5735765f),
- new Quaternion(0.09800828f, -0.05454942f, -0.591058f, 0.7987923f)
- }));
- this.maidFingerDataList.Add(new HandSignShortcut.MaidFingerData("サムズアップ", new Quaternion[]
- {
- new Quaternion(1.472499E-08f, -1.164853E-08f, -0.0242227f, 0.9997066f),
- new Quaternion(2.864741E-09f, 1.253174E-08f, 0.02121386f, 0.999775f),
- new Quaternion(0.3078066f, -0.4021123f, 0.08737727f, 0.8578613f),
- new Quaternion(9.870518E-10f, 1.579613E-09f, -0.5299194f, 0.8480481f),
- new Quaternion(-5.034789E-09f, -5.799266E-09f, -0.819152f, 0.5735765f),
- new Quaternion(0.04780529f, -0.01974053f, -0.5880075f, 0.8072002f),
- new Quaternion(8.812074E-09f, -1.401741E-08f, -0.5299194f, 0.8480481f),
- new Quaternion(-1.043265E-08f, 1.477225E-09f, -0.7992581f, 0.6009881f),
- new Quaternion(-0.009090314f, -0.01649067f, -0.6061373f, 0.7951371f),
- new Quaternion(-2.784401E-08f, 1.160059E-08f, -0.5224781f, 0.8526527f),
- new Quaternion(1.204624E-08f, 8.771129E-09f, -0.8084095f, 0.5886205f),
- new Quaternion(-0.04368013f, 0.007996442f, -0.6048046f, 0.7951349f),
- new Quaternion(-3.325827E-08f, 2.027481E-09f, -0.5008098f, 0.8655574f),
- new Quaternion(4.887593E-09f, -3.295959E-08f, -0.819152f, 0.5735765f),
- new Quaternion(-0.09800828f, 0.05454941f, -0.591058f, 0.7987923f)
- }, new Quaternion[]
- {
- new Quaternion(-1.472499E-08f, 1.164853E-08f, -0.0242227f, 0.9997066f),
- new Quaternion(-2.864741E-09f, -1.253174E-08f, 0.02121386f, 0.999775f),
- new Quaternion(-0.3078066f, 0.4021123f, 0.08737727f, 0.8578613f),
- new Quaternion(-9.870518E-10f, -1.579613E-09f, -0.5299194f, 0.8480481f),
- new Quaternion(5.034789E-09f, 5.799266E-09f, -0.819152f, 0.5735765f),
- new Quaternion(-0.04780529f, 0.01974053f, -0.5880075f, 0.8072002f),
- new Quaternion(-8.812074E-09f, 1.401741E-08f, -0.5299194f, 0.8480481f),
- new Quaternion(1.043265E-08f, -1.477225E-09f, -0.7992581f, 0.6009881f),
- new Quaternion(0.009090314f, 0.01649067f, -0.6061373f, 0.7951371f),
- new Quaternion(2.784401E-08f, -1.160059E-08f, -0.5224781f, 0.8526527f),
- new Quaternion(-1.204624E-08f, -8.771129E-09f, -0.8084095f, 0.5886205f),
- new Quaternion(0.04368013f, -0.007996442f, -0.6048046f, 0.7951349f),
- new Quaternion(3.325827E-08f, -2.027481E-09f, -0.5008098f, 0.8655574f),
- new Quaternion(-4.887593E-09f, 3.295959E-08f, -0.819152f, 0.5735765f),
- new Quaternion(0.09800828f, -0.05454941f, -0.591058f, 0.7987923f)
- }));
- this.maidFingerDataList.Add(new HandSignShortcut.MaidFingerData("電話サイン", new Quaternion[]
- {
- new Quaternion(1.479486E-08f, -8.781127E-09f, -0.02975121f, 0.9995574f),
- new Quaternion(-6.50015E-09f, 1.013705E-08f, 0.007386392f, 0.9999728f),
- new Quaternion(0.3369619f, -0.3488706f, 0.09791746f, 0.8689983f),
- new Quaternion(9.870518E-10f, 1.579613E-09f, -0.5299194f, 0.8480481f),
- new Quaternion(-5.034789E-09f, -5.799266E-09f, -0.819152f, 0.5735765f),
- new Quaternion(0.04780529f, -0.01974053f, -0.5880075f, 0.8072002f),
- new Quaternion(8.812074E-09f, -1.401741E-08f, -0.5299194f, 0.8480481f),
- new Quaternion(-1.043265E-08f, 1.477225E-09f, -0.7992581f, 0.6009881f),
- new Quaternion(-0.009090314f, -0.01649067f, -0.6061373f, 0.7951371f),
- new Quaternion(-2.784401E-08f, 1.160059E-08f, -0.5224781f, 0.8526527f),
- new Quaternion(1.204624E-08f, 8.771129E-09f, -0.8084095f, 0.5886205f),
- new Quaternion(-0.04368013f, 0.007996442f, -0.6048046f, 0.7951349f),
- new Quaternion(-8.023863E-10f, -9.682119E-09f, 0.03396483f, 0.999423f),
- new Quaternion(1.91605E-09f, -7.848716E-18f, -3.011494E-09f, 1f),
- new Quaternion(-0.0007191578f, 0.2631239f, 0.01688699f, 0.964614f)
- }, new Quaternion[]
- {
- new Quaternion(-1.479486E-08f, 8.781127E-09f, -0.02975121f, 0.9995574f),
- new Quaternion(6.50015E-09f, -1.013705E-08f, 0.007386392f, 0.9999728f),
- new Quaternion(-0.3369619f, 0.3488706f, 0.09791746f, 0.8689983f),
- new Quaternion(-9.870518E-10f, -1.579613E-09f, -0.5299194f, 0.8480481f),
- new Quaternion(5.034789E-09f, 5.799266E-09f, -0.819152f, 0.5735765f),
- new Quaternion(-0.04780529f, 0.01974053f, -0.5880075f, 0.8072002f),
- new Quaternion(-8.812074E-09f, 1.401741E-08f, -0.5299194f, 0.8480481f),
- new Quaternion(1.043265E-08f, -1.477225E-09f, -0.7992581f, 0.6009881f),
- new Quaternion(0.009090314f, 0.01649067f, -0.6061373f, 0.7951371f),
- new Quaternion(2.784401E-08f, -1.160059E-08f, -0.5224781f, 0.8526527f),
- new Quaternion(-1.204624E-08f, -8.771129E-09f, -0.8084095f, 0.5886205f),
- new Quaternion(0.04368013f, -0.007996442f, -0.6048046f, 0.7951349f),
- new Quaternion(8.023863E-10f, 9.682119E-09f, 0.03396483f, 0.999423f),
- new Quaternion(-1.91605E-09f, 7.848716E-18f, -3.011494E-09f, 1f),
- new Quaternion(0.0007191578f, -0.2631239f, 0.01688699f, 0.964614f)
- }));
- this.maidFingerDataList.Add(new HandSignShortcut.MaidFingerData("狐コンコン", new Quaternion[]
- {
- new Quaternion(0f, 0f, 0f, 1f),
- new Quaternion(-1.192093E-07f, 1.788139E-07f, -0.1335995f, 0.9910354f),
- new Quaternion(0.8534603f, -0.2756786f, -0.1541951f, 0.4145248f),
- new Quaternion(-1.490116E-09f, 4.470349E-09f, 2.048909E-09f, 1f),
- new Quaternion(-1.490116E-09f, 4.470349E-09f, 2.048909E-09f, 1f),
- new Quaternion(0.0003543059f, -0.1458506f, 0.02624475f, 0.9889584f),
- new Quaternion(1.291415E-08f, 1.295253E-07f, 0.01154917f, 0.9999333f),
- new Quaternion(1.487787E-07f, -4.237517E-08f, -0.5324296f, 0.8464743f),
- new Quaternion(-0.01350924f, -0.01311721f, -0.3475225f, 0.9374825f),
- new Quaternion(7.117304E-07f, -7.226793E-07f, -0.00915247f, 0.9999582f),
- new Quaternion(2.980232E-08f, 1.061708E-06f, -0.4032317f, 0.9150979f),
- new Quaternion(-0.1480011f, 0.04210641f, -0.4022999f, 0.9024841f),
- new Quaternion(-7.434641E-10f, -8.971124E-09f, 0.03396483f, 0.999423f),
- new Quaternion(2.048909E-09f, -8.673617E-18f, -3.166497E-09f, 1f),
- new Quaternion(-0.0003274615f, 0.2406898f, 0.01689912f, 0.9704549f)
- }, new Quaternion[]
- {
- new Quaternion(0f, 0f, 0f, 1f),
- new Quaternion(1.192093E-07f, -1.788139E-07f, -0.1335995f, 0.9910354f),
- new Quaternion(-0.8534603f, 0.2756786f, -0.1541951f, 0.4145248f),
- new Quaternion(1.490116E-09f, -4.470349E-09f, 2.048909E-09f, 1f),
- new Quaternion(1.490116E-09f, -4.470349E-09f, 2.048909E-09f, 1f),
- new Quaternion(-0.0003543059f, 0.1458506f, 0.02624475f, 0.9889584f),
- new Quaternion(-1.291415E-08f, -1.295253E-07f, 0.01154917f, 0.9999333f),
- new Quaternion(-1.487787E-07f, 4.237517E-08f, -0.5324296f, 0.8464743f),
- new Quaternion(0.01350924f, 0.01311721f, -0.3475225f, 0.9374825f),
- new Quaternion(-7.117304E-07f, 7.226793E-07f, -0.00915247f, 0.9999582f),
- new Quaternion(-2.980232E-08f, -1.061708E-06f, -0.4032317f, 0.9150979f),
- new Quaternion(0.1480011f, -0.04210641f, -0.4022999f, 0.9024841f),
- new Quaternion(7.434641E-10f, 8.971124E-09f, 0.03396483f, 0.999423f),
- new Quaternion(-2.048909E-09f, 8.673617E-18f, -3.166497E-09f, 1f),
- new Quaternion(0.0003274615f, -0.2406898f, 0.01689912f, 0.9704549f)
- }));
- }
- public List<HandSignShortcut.MaidFingerData> maidFingerDataList
- {
- get
- {
- return this.MaidFingerDataList;
- }
- set
- {
- this.MaidFingerDataList = value;
- }
- }
- private const string CONF_NAME = "MaidFingerDataList.json";
- [SerializeField]
- private int m_nVersion = 1130;
- [SerializeField]
- private List<HandSignShortcut.MaidFingerData> MaidFingerDataList = new List<HandSignShortcut.MaidFingerData>();
- }
- [Serializable]
- public class MaidFingerData
- {
- public MaidFingerData(string name, Quaternion[] leftFingerData, Quaternion[] rightFingerData)
- {
- if (leftFingerData.Length != 15)
- {
- string message = "[HandSignShortcut.MaidFingerData] 項目「" + name + "」の左手指データ数が不正です";
- Debug.LogError(message);
- NDebug.Assert(message, false);
- }
- if (rightFingerData.Length != 15)
- {
- string message2 = "[HandSignShortcut.MaidFingerData] 項目「" + name + "」の右手指データ数が不正です";
- Debug.LogError(message2);
- NDebug.Assert(message2, false);
- }
- this.name = name;
- this.leftFingerData = leftFingerData;
- this.rightFingerData = rightFingerData;
- }
- public MaidFingerData()
- {
- }
- public string name
- {
- get
- {
- return this.m_Name;
- }
- set
- {
- this.m_Name = value;
- }
- }
- public Quaternion[] leftFingerData
- {
- get
- {
- return this.m_LeftFingerRotArray;
- }
- set
- {
- this.m_LeftFingerRotArray = value;
- }
- }
- public Quaternion[] rightFingerData
- {
- get
- {
- return this.m_RightFingerRotArray;
- }
- set
- {
- this.m_RightFingerRotArray = value;
- }
- }
- public void GetMaidFingerData(Maid maid)
- {
- this.leftFingerData = new Quaternion[HandSignShortcut.strHandBoneNameL.Length];
- this.rightFingerData = new Quaternion[HandSignShortcut.strHandBoneNameR.Length];
- Transform t = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Hand", true);
- string[] array = HandSignShortcut.strHandBoneNameL;
- for (int i = 0; i < array.Length; i++)
- {
- this.leftFingerData[i] = CMT.SearchObjName(t, array[i], true).localRotation;
- }
- t = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Hand", true);
- array = HandSignShortcut.strHandBoneNameR;
- for (int j = 0; j < array.Length; j++)
- {
- this.rightFingerData[j] = CMT.SearchObjName(t, array[j], true).localRotation;
- }
- }
- public void ApplyMaidFingerData(Maid maid)
- {
- Transform transform = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 L Hand", true);
- string[] array = HandSignShortcut.strHandBoneNameL;
- for (int i = 0; i < array.Length; i++)
- {
- CMT.SearchObjName(maid.body0.m_Bones.transform, array[i], true).localRotation = this.leftFingerData[i];
- }
- transform = CMT.SearchObjName(maid.body0.m_Bones.transform, "Bip01 R Hand", true);
- array = HandSignShortcut.strHandBoneNameR;
- for (int j = 0; j < array.Length; j++)
- {
- CMT.SearchObjName(maid.body0.m_Bones.transform, array[j], true).localRotation = this.rightFingerData[j];
- }
- }
- public static HandSignShortcut.MaidFingerData Get(string name)
- {
- HandSignShortcut.MaidFingerData.CreateDataDic();
- HandSignShortcut.MaidFingerData result;
- HandSignShortcut.MaidFingerData.m_DataDic.TryGetValue(name, out result);
- return result;
- }
- public static void Add(HandSignShortcut.MaidFingerData data)
- {
- HandSignShortcut.MaidFingerData.CreateDataDic();
- if (data == null)
- {
- Debug.Log("[HandSignShortcut.MaidFingerData] 登録するデータが null でした");
- return;
- }
- if (HandSignShortcut.MaidFingerData.m_DataDic.ContainsKey(data.name))
- {
- Debug.Log("[HandSignShortcut.MaidFingerData] 既に「" + data.name + "」が登録されています");
- return;
- }
- HandSignShortcut.MaidFingerData.m_DataDic.Add(data.name, data);
- HandSignShortcut.config.maidFingerDataList.Add(data);
- }
- private static void CreateDataDic()
- {
- if (HandSignShortcut.MaidFingerData.m_DataDic != null)
- {
- return;
- }
- HandSignShortcut.MaidFingerData.m_DataDic = new Dictionary<string, HandSignShortcut.MaidFingerData>();
- foreach (HandSignShortcut.MaidFingerData maidFingerData in HandSignShortcut.config.maidFingerDataList)
- {
- HandSignShortcut.MaidFingerData.m_DataDic.Add(maidFingerData.name, maidFingerData);
- }
- }
- [SerializeField]
- private string m_Name;
- [SerializeField]
- private Quaternion[] m_LeftFingerRotArray;
- [SerializeField]
- private Quaternion[] m_RightFingerRotArray;
- private static Dictionary<string, HandSignShortcut.MaidFingerData> m_DataDic;
- }
- private class ItemData : MonoBehaviour
- {
- public HandSignShortcut.MaidFingerData data
- {
- get
- {
- return this.m_Data;
- }
- set
- {
- this.m_Data = value;
- this.UpdateText();
- }
- }
- public Text text { get; set; }
- private void UpdateText()
- {
- if (this.text == null)
- {
- return;
- }
- if (this.m_Data == null)
- {
- this.text.text = "自由モード";
- }
- else
- {
- this.text.text = this.m_Data.name;
- }
- }
- private HandSignShortcut.MaidFingerData m_Data;
- }
- private enum Finger
- {
- Thumb,
- Index,
- Middle,
- Ring,
- Little,
- Max
- }
- }
|