BlackjackGame.cs 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601
  1. using System;
  2. using System.Collections;
  3. using PlayerStatus;
  4. using UnityEngine;
  5. using UnityEngine.UI;
  6. public class BlackjackGame : MonoBehaviour
  7. {
  8. public static BlackjackGame Instance { get; private set; }
  9. public bool isZoom
  10. {
  11. get
  12. {
  13. return this.m_IsZoom;
  14. }
  15. }
  16. public AudioSource CardSe
  17. {
  18. get
  19. {
  20. return this.m_CardSe;
  21. }
  22. }
  23. public DealQueue DealQueue
  24. {
  25. get
  26. {
  27. return this.m_DealQueue;
  28. }
  29. }
  30. private void Awake()
  31. {
  32. BlackjackGame.Instance = this;
  33. uGUIUtility.GetEventSystem();
  34. if (GameMain.Instance.ScriptMgr.adv_kag.tag_backup.ContainsKey("cancel_label"))
  35. {
  36. this.m_CancelLabel = GameMain.Instance.ScriptMgr.adv_kag.tag_backup["cancel_label"];
  37. }
  38. }
  39. private void Start()
  40. {
  41. GameMain.Instance.SysShortcut.strSceneHelpName = "SceneBlackJack";
  42. this.m_DealQueue = new DealQueue();
  43. this.m_DealQueue.Init();
  44. this.ResetTable();
  45. base.StartCoroutine(this.CharaLoadWait());
  46. }
  47. private IEnumerator CharaLoadWait()
  48. {
  49. GameMain.Instance.BgMgr.DeleteBg();
  50. GameMain.Instance.SoundMgr.PlayBGM(this.m_BGMName, 0.5f, true);
  51. this.m_MainCamType = GameMain.Instance.MainCamera.GetCameraType();
  52. GameMain.Instance.MainCamera.SetTargetPos(this.m_NormalCamSetting.TatgetPos, true);
  53. GameMain.Instance.MainCamera.SetDistance(this.m_NormalCamSetting.Distance, true);
  54. GameMain.Instance.MainCamera.SetAroundAngle(this.m_NormalCamSetting.TargetAngle, true);
  55. GameMain.Instance.MainLight.Reset();
  56. GameMain.Instance.MainCamera.FadeOut(0f, false, null, true, default(Color));
  57. this.m_ControlEnable = GameMain.Instance.MainCamera.GetControl();
  58. GameMain.Instance.MainCamera.SetControl(false);
  59. this.m_UIRaycaster.enabled = false;
  60. if (CasinoDataMgr.Instance.DealerMaid)
  61. {
  62. GameMain.Instance.CharacterMgr.SetActiveMaid(CasinoDataMgr.Instance.DealerMaid, 0);
  63. CasinoDataMgr.Instance.DealerMaid.AllProcPropSeqStart();
  64. CasinoDataMgr.Instance.DealerMaid.Visible = true;
  65. }
  66. else
  67. {
  68. GameMain.Instance.CharacterMgr.status.casinoCoin = 499999L;
  69. ExChangeUI.Instance.TextUIUpdate();
  70. }
  71. bool need_costumeload = CasinoDataMgr.Instance.DealerMaid && CasinoDataMgr.Instance.CurrentCasino.typeCostume != Facility.CostumeType.Heroine;
  72. Action load_end = delegate
  73. {
  74. BjMotionControl.Instance.Init();
  75. this.$this.m_ChaOffsetRot = GameMain.Instance.CharacterMgr.GetCharaAllOfsetRot();
  76. GameMain.Instance.CharacterMgr.CharaAllOfsetRot(this.$this.m_DealerMaidAngle);
  77. this.$this.m_UIRaycaster.enabled = true;
  78. GameMain.Instance.MainCamera.FadeIn(0.5f, false, null, false, true, default(Color));
  79. };
  80. while (GameMain.Instance.CharacterMgr.IsBusy())
  81. {
  82. yield return null;
  83. }
  84. if (!need_costumeload)
  85. {
  86. yield return null;
  87. load_end();
  88. yield break;
  89. }
  90. Maid dealerMaid = CasinoDataMgr.Instance.DealerMaid;
  91. Facility.CostumeType typeCostume = CasinoDataMgr.Instance.CurrentCasino.typeCostume;
  92. if (typeCostume != Facility.CostumeType.Default)
  93. {
  94. if (typeCostume == Facility.CostumeType.Edit)
  95. {
  96. CasinoDataMgr.Instance.CurrentCasino.UpdateMaidCostumeToEditCostume(dealerMaid, false);
  97. }
  98. }
  99. else
  100. {
  101. CasinoDataMgr.Instance.CurrentCasino.UpdateMaidCostumeToDefaultCostume(dealerMaid);
  102. }
  103. dealerMaid.AllProcPropSeqStart();
  104. while (GameMain.Instance.CharacterMgr.IsBusy())
  105. {
  106. yield return null;
  107. }
  108. yield return null;
  109. load_end();
  110. yield break;
  111. }
  112. public void SetDealerPos()
  113. {
  114. this.m_ChaOffsetPos = GameMain.Instance.CharacterMgr.GetCharaAllOfsetPos();
  115. GameMain.Instance.CharacterMgr.CharaAllOfsetPos(this.m_DealerMaidPos);
  116. }
  117. public void AngleChange()
  118. {
  119. UIStates.Instance.AngleDisabled();
  120. this.m_IsZoom = !this.m_IsZoom;
  121. base.StartCoroutine(KasaiUtility.TimeCroutine(this.m_AngleChange, new Action<float>(this.SetCamAngle), new Action(UIStates.Instance.AngleAbled)));
  122. }
  123. private void OnceAngleChange()
  124. {
  125. UIStates.Instance.AngleDisabled();
  126. BjMotionControl.Instance.DoLeaveMotion = false;
  127. this.m_IsZoom = !this.m_IsZoom;
  128. base.StartCoroutine(KasaiUtility.TimeCroutine(this.m_AngleChange, new Action<float>(this.SetCamAngle), null));
  129. }
  130. private void SetCamAngle(float time)
  131. {
  132. float t = (!this.m_IsZoom) ? (1f - Mathf.Clamp01(time / this.m_AngleChange)) : Mathf.Clamp01(time / this.m_AngleChange);
  133. GameMain.Instance.MainCamera.SetTargetPos(Vector3.Lerp(this.m_NormalCamSetting.TatgetPos, this.m_ZoomCamSetting.TatgetPos, t), true);
  134. GameMain.Instance.MainCamera.SetAroundAngle(Vector2.Lerp(this.m_NormalCamSetting.TargetAngle, this.m_ZoomCamSetting.TargetAngle, t), true);
  135. GameMain.Instance.MainCamera.SetDistance(Mathf.Lerp(this.m_NormalCamSetting.Distance, this.m_ZoomCamSetting.Distance, t), true);
  136. }
  137. public void Deal()
  138. {
  139. UIStates.Instance.SetEnabled(false);
  140. UIStates.Instance.AngleAbled();
  141. if (BjPlayer.Instance.IsPlacingBet())
  142. {
  143. BjMotionControl.Instance.PlayMotion("*初期配布", new Action(this.FinishedDealing), false, false);
  144. if (GameMain.Instance.CharacterMgr.status.casinoCoin >= BjPlayer.Instance.CurrentBet)
  145. {
  146. this.InitialDeal();
  147. }
  148. }
  149. }
  150. public void Hit()
  151. {
  152. BjPlayer.Instance.CurrentHand.IsHit = true;
  153. ActionDirect.Instance.ActionStart(Translations.Instance.HIT);
  154. UIStates.Instance.SetEnabled(false);
  155. BjMotionControl.Instance.DoLeaveMotion = false;
  156. Action end_action = delegate
  157. {
  158. BjMotionControl.Instance.PlayMotion(BjMotionControl.Instance.GetHaihuMotion(), new Action(this.FinishedDealing), false, false);
  159. if (!BjPlayer.Instance.IsPlacingBet())
  160. {
  161. this.DealPlayer();
  162. }
  163. };
  164. BjVoiceMgr.Instance.PlayVoice("ヒット", null, 0f);
  165. BjMotionControl.Instance.PlayMotion("*頷く", end_action, true, false);
  166. }
  167. public void DoubleDown()
  168. {
  169. ActionDirect.Instance.ActionStart(Translations.Instance.DOUBLE_DOWN);
  170. UIStates.Instance.SetEnabled(false);
  171. BjMotionControl.Instance.DoLeaveMotion = false;
  172. Action end_action = delegate
  173. {
  174. ChipManager instance = ChipManager.Instance;
  175. instance.StackEndCallBack = (Action)Delegate.Combine(instance.StackEndCallBack, new Action(delegate
  176. {
  177. BjVoiceMgr.Instance.PlayVoice("ダブルダウンオープン", new Action(this.DoDoubleDown), 0f);
  178. }));
  179. ChipManager instance2 = ChipManager.Instance;
  180. instance2.StackEndCallBack = (Action)Delegate.Combine(instance2.StackEndCallBack, new Action(UIStates.Instance.OnStateChange));
  181. BjPlayer.Instance.DoubleDown();
  182. ChipManager.Instance.UpdateStacks();
  183. BjMotionControl.Instance.SetWaitMotion(BjMotionControl.WaitType.Normal);
  184. };
  185. BjVoiceMgr.Instance.PlayVoice("ダブルダウン", null, 0f);
  186. BjMotionControl.Instance.PlayMotion("*頷く", end_action, true, false);
  187. }
  188. private void DoDoubleDown()
  189. {
  190. BjMotionControl.Instance.PlayMotion(BjMotionControl.Instance.GetHaihuMotion(), new Action(this.FinishedDealing), false, false);
  191. CardData card = CardDeck.Instance.GetCard();
  192. this.m_DealQueue.DealCard(BjPlayer.Instance.DealCard(card));
  193. }
  194. public void Stand()
  195. {
  196. ActionDirect.Instance.ActionStart(Translations.Instance.STAND);
  197. UIStates.Instance.SetEnabled(false);
  198. BjMotionControl.Instance.DoLeaveMotion = false;
  199. Action end_action = delegate
  200. {
  201. if (!BjPlayer.Instance.IsSplitGame())
  202. {
  203. BjMotionControl.Instance.SetWaitMotion(BjMotionControl.WaitType.Normal);
  204. }
  205. else
  206. {
  207. BjMotionControl.Instance.SetWaitMotion(BjMotionControl.WaitType.Split2);
  208. }
  209. BjPlayer.Instance.StandOnCurrentHand();
  210. this.CheckIfEnded();
  211. };
  212. BjVoiceMgr.Instance.PlayVoice("スタンド", null, 0f);
  213. BjMotionControl.Instance.PlayMotion("*頷く", end_action, true, false);
  214. }
  215. public void Split()
  216. {
  217. ActionDirect.Instance.ActionStart(Translations.Instance.SPLIT);
  218. BjMotionControl.Instance.DoLeaveMotion = false;
  219. UIStates.Instance.SetEnabled(false);
  220. Action end_action = delegate
  221. {
  222. ChipManager instance = ChipManager.Instance;
  223. instance.StackEndCallBack = (Action)Delegate.Combine(instance.StackEndCallBack, new Action(delegate
  224. {
  225. GameMain.Instance.MainCamera.FadeOut(0.5f, false, new CameraMain.dgOnCompleteFade(this.SplitFadeIn), false, default(Color));
  226. }));
  227. ChipManager instance2 = ChipManager.Instance;
  228. instance2.StackEndCallBack = (Action)Delegate.Combine(instance2.StackEndCallBack, new Action(UIStates.Instance.OnStateChange));
  229. BjPlayer.Instance.Split();
  230. ChipManager.Instance.UpdateStacks();
  231. };
  232. BjVoiceMgr.Instance.PlayVoice("スプリット", null, 0f);
  233. BjMotionControl.Instance.PlayMotion("*頷く", end_action, true, false);
  234. }
  235. private void SplitFadeIn()
  236. {
  237. GameObject card = BjPlayer.Instance.standardHand.TakeCard(1);
  238. BjPlayer.Instance.splitHand.StartSplit(card);
  239. BjPlayer.Instance.UpdateScore();
  240. GameMain.Instance.MainCamera.FadeIn(0.5f, false, new CameraMain.dgOnCompleteFade(this.DoSplit), false, true, default(Color));
  241. }
  242. private void DoSplit()
  243. {
  244. BjMotionControl.Instance.PlayMotion(BjMotionControl.Instance.GetHaihuMotion(), new Action(this.FinishedDealing), false, false);
  245. this.DealPlayer();
  246. BjMotionControl.Instance.SetWaitMotion(BjMotionControl.WaitType.Split2);
  247. }
  248. public void Surrender()
  249. {
  250. ActionDirect.Instance.ActionStart(Translations.Instance.SURRENDER);
  251. UIStates.Instance.SetEnabled(false);
  252. BjMotionControl.Instance.DoLeaveMotion = false;
  253. Action end_action = delegate
  254. {
  255. BjPlayer.Instance.Surrender();
  256. this.CheckIfEnded();
  257. };
  258. BjVoiceMgr.Instance.PlayVoice("サレンダー", null, 0f);
  259. BjMotionControl.Instance.PlayMotion("*頷く", end_action, true, false);
  260. }
  261. private void InitialDeal()
  262. {
  263. BjPlayer.Instance.SubtractBet();
  264. for (int i = 0; i < 2; i++)
  265. {
  266. this.DealPlayer();
  267. this.DealDealer();
  268. }
  269. }
  270. private void DealDealer()
  271. {
  272. UIStates.Instance.SetEnabled(false);
  273. BjMotionControl.Instance.SetWaitMotion(BjMotionControl.WaitType.Normal);
  274. if (Dealer.Instance.HasFacedownCard())
  275. {
  276. Action end_call = delegate
  277. {
  278. BjMotionControl.Instance.PlayMotion("*カード開く", new Action(this.FinishedAnimating), false, false);
  279. this.m_DealQueue.CardOpen(Dealer.Instance.GetFacedownCard());
  280. };
  281. BjVoiceMgr.Instance.PlayVoice("ディーラーオープン", end_call, 0f);
  282. }
  283. else if (Dealer.Instance.NeedCardMove)
  284. {
  285. BjMotionControl.Instance.PlayMotion("*カード移動", new Action(this.DealDealer), false, false);
  286. Dealer.Instance.CardMove();
  287. }
  288. else
  289. {
  290. if (BjPlayer.Instance.IsturnEnd)
  291. {
  292. BjMotionControl.Instance.PlayMotion("*ディーラーに配布", new Action(this.FinishedAnimating), false, false);
  293. }
  294. CardData card = CardDeck.Instance.GetCard();
  295. this.m_DealQueue.DealCard(Dealer.Instance.DealCard(card));
  296. }
  297. }
  298. private void DealPlayer()
  299. {
  300. UIStates.Instance.SetEnabled(false);
  301. CardData card = CardDeck.Instance.GetCard();
  302. this.m_DealQueue.DealCard(BjPlayer.Instance.DealCard(card));
  303. }
  304. private void FinishedAnimating()
  305. {
  306. Dealer.Instance.CheckSurrender();
  307. Dealer.Instance.CalculateScore();
  308. this.FinishedDealing();
  309. }
  310. private void FinishedDealing()
  311. {
  312. BjMotionControl.Instance.ForceWaitStop = false;
  313. UIStates.Instance.SetEnabled(true);
  314. UIStates.Instance.OnStateChange();
  315. BjPlayer.Instance.UpdateScore();
  316. Dealer.Instance.UpdateScoreView();
  317. this.CheckIfEnded();
  318. if (BetSetUI.Instance.IsDoBet && !BjPlayer.Instance.IsEnded() && !BjPlayer.Instance.IsSplitGame())
  319. {
  320. BjMotionControl.Instance.DoLeaveMotion = true;
  321. }
  322. BjMotionControl.Instance.PlayWaitMotion();
  323. }
  324. private void CheckIfEnded()
  325. {
  326. if (BjPlayer.Instance.IsEnded())
  327. {
  328. this.PlayerIsFinished();
  329. }
  330. else if (BjPlayer.Instance.IsSplitGame() && BjPlayer.Instance.HandIsEnded() && BjPlayer.Instance.CurrentHand == BjPlayer.Instance.splitHand)
  331. {
  332. bool is_bust = BjPlayer.Instance.CurrentHand.IsBust();
  333. Action action = delegate
  334. {
  335. BjPlayer.Instance.NextHand();
  336. BjMotionControl.Instance.PlayMotion(BjMotionControl.Instance.GetHaihuMotion(), new Action(this.FinishedDealing), is_bust, true);
  337. this.DealPlayer();
  338. BjMotionControl.Instance.SetWaitMotion(BjMotionControl.WaitType.Split1);
  339. };
  340. if (is_bust)
  341. {
  342. if (BjPlayer.Instance.CurrentHand.IsDoubleDown)
  343. {
  344. BjVoiceMgr.Instance.PlayVoice("ダブルダウン慰め", action, 0f);
  345. }
  346. else
  347. {
  348. BjVoiceMgr.Instance.PlayVoice("バースト慰め", action, 0f);
  349. }
  350. this.m_BustSe.Play();
  351. ActionDirect.Instance.ActionStart(Translations.Instance.BUST);
  352. BjMotionControl.Instance.SetWaitMotion(BjMotionControl.WaitType.Normal);
  353. }
  354. else
  355. {
  356. BjMotionControl.Instance.ForceWaitStop = true;
  357. action();
  358. }
  359. }
  360. else if (BjPlayer.Instance.CurrentHand.IsHit)
  361. {
  362. BjVoiceMgr.Instance.PlayVoice("ヒット後選択", null, 0f);
  363. }
  364. else if (BjPlayer.Instance.IsSplitGame())
  365. {
  366. BjVoiceMgr.Instance.PlayVoice("スプリット選択", null, 0f);
  367. }
  368. else
  369. {
  370. BjVoiceMgr.Instance.PlayVoice("行動選択", null, 0f);
  371. }
  372. }
  373. private void PlayerIsFinished()
  374. {
  375. if (!BjPlayer.Instance.IsEnded())
  376. {
  377. return;
  378. }
  379. if (!Dealer.Instance.IsEnded())
  380. {
  381. BjPlayer.Instance.IsturnEnd = true;
  382. UIStates.Instance.SetEnabled(false);
  383. if (Dealer.Instance.HasFacedownCard())
  384. {
  385. if (BjPlayer.Instance.CurrentHand.IsNatural21())
  386. {
  387. BjVoiceMgr.Instance.PlayVoice("ブラックジャック", new Action(this.DealDealer), 0f);
  388. GameMain.Instance.SoundMgr.PlaySe("casino_SE002.ogg", false);
  389. ActionDirect.Instance.ActionStart(Translations.Instance.BLACKJACK);
  390. }
  391. else if (BjPlayer.Instance.CurrentHand.IsBust())
  392. {
  393. if (BjPlayer.Instance.CurrentHand.IsDoubleDown)
  394. {
  395. BjVoiceMgr.Instance.PlayVoice("ダブルダウン慰め", new Action(this.DealDealer), 0f);
  396. }
  397. else
  398. {
  399. BjVoiceMgr.Instance.PlayVoice("バースト慰め", new Action(this.DealDealer), 0f);
  400. }
  401. this.m_BustSe.Play();
  402. ActionDirect.Instance.ActionStart(Translations.Instance.BUST);
  403. BjMotionControl.Instance.SetWaitMotion(BjMotionControl.WaitType.Normal);
  404. }
  405. else
  406. {
  407. this.DealDealer();
  408. }
  409. }
  410. else
  411. {
  412. BjVoiceMgr.Instance.PlayScoreVoice(new Action(this.DealDealer), 0f);
  413. }
  414. }
  415. else
  416. {
  417. BjVoiceMgr.Instance.PlayScoreVoice(new Action(this.EndGame), 0f);
  418. }
  419. }
  420. private void EndGame()
  421. {
  422. if (!BjPlayer.Instance.EndingGame)
  423. {
  424. UIStates.Instance.AngleDisabled();
  425. if (this.m_IsZoom)
  426. {
  427. this.OnceAngleChange();
  428. }
  429. BjPlayer.Instance.EndingGame = true;
  430. BjMotionControl.Instance.ForceWaitStop = false;
  431. BjMotionControl.Instance.DoLeaveMotion = false;
  432. BjPlayer.Instance.AwardWinnings(Dealer.Instance.CurrentScore);
  433. }
  434. }
  435. public void ResetTable()
  436. {
  437. BjVoiceMgr.Instance.Stop();
  438. UIStates.Instance.HideResultText();
  439. BjPlayer.Instance.ResetScore();
  440. Dealer.Instance.ResetScore();
  441. BjMotionControl.Instance.PlayWaitMotion(BjMotionControl.WaitType.Normal);
  442. this.HardResetTable();
  443. }
  444. private void HardResetTable()
  445. {
  446. BetSetUI.Instance.StateRecet();
  447. CardDeck.Instance.Shuffle(this.m_DeckCount);
  448. BjPlayer.Instance.ResetTable();
  449. Dealer.Instance.ResetHand();
  450. ChipManager.Instance.HardReset();
  451. ChipManager.Instance.UpdateStacks();
  452. }
  453. public static string BlackJackResource(string behind_path)
  454. {
  455. return "SceneBlackJack/" + behind_path;
  456. }
  457. public Vector3 DeckPos()
  458. {
  459. return this.m_DeckObj.transform.position;
  460. }
  461. public void PushEndButton()
  462. {
  463. GameMain.Instance.SysDlg.Show("カジノ画面に戻ります", SystemDialog.TYPE.OK_CANCEL, new SystemDialog.OnClick(this.BJEnd), null);
  464. }
  465. public void BJStart()
  466. {
  467. Status status = GameMain.Instance.CharacterMgr.status;
  468. if (status.casinoCoin >= BetSetUI.Instance.MoneySetting.MinValue)
  469. {
  470. BetSetUI.Instance.FadeIn();
  471. UIStates.Instance.OnStateChange();
  472. }
  473. else
  474. {
  475. string f_strMsg = string.Format("ブラックジャックをするには最低でも\nコインが{0:#,##0}枚必用です", BetSetUI.Instance.MoneySetting.MinValue);
  476. GameMain.Instance.SysDlg.Show(f_strMsg, SystemDialog.TYPE.OK, null, null);
  477. }
  478. }
  479. public void BJEnd()
  480. {
  481. this.m_UIRaycaster.enabled = false;
  482. GameMain.Instance.SysDlg.Close();
  483. BetSetUI.Instance.FadeOut();
  484. GameMain.Instance.MainCamera.FadeOut(0.5f, false, delegate
  485. {
  486. BjVoiceMgr.Instance.VoiceEnd();
  487. GameMain.Instance.CharacterMgr.ResetCharaPosAll();
  488. GameMain.Instance.CharacterMgr.CharaAllOfsetRot(Vector3.zero);
  489. GameMain.Instance.ScriptMgr.is_motion_blend = false;
  490. GameMain.Instance.ScriptMgr.ClearForcExecWaitEvent();
  491. GameMain.Instance.ScriptMgr.StopMotionScript();
  492. GameMain.Instance.ScriptMgr.adv_kag.JumpLabel(this.m_CancelLabel);
  493. GameMain.Instance.ScriptMgr.adv_kag.Exec();
  494. }, true, default(Color));
  495. }
  496. public const float DeskHeight = 0.755f;
  497. [SerializeField]
  498. private string m_BGMName = "BGM009.ogg";
  499. [SerializeField]
  500. [Header("ディーラーとなるメイドの位置")]
  501. private Vector3 m_DealerMaidPos;
  502. [SerializeField]
  503. [Header("ディーラーとなるメイドの角度")]
  504. private Vector3 m_DealerMaidAngle;
  505. [SerializeField]
  506. private float m_AngleChange = 0.5f;
  507. [SerializeField]
  508. [Header("カメラ設定(通常時)")]
  509. private BlackjackGame.CamSetting m_NormalCamSetting;
  510. [SerializeField]
  511. [Header("カメラ設定(切り替え時)")]
  512. private BlackjackGame.CamSetting m_ZoomCamSetting;
  513. private bool m_IsZoom;
  514. [SerializeField]
  515. [Header("デッキの個数")]
  516. private int m_DeckCount = 1;
  517. [SerializeField]
  518. [Header("デッキオブジェクト")]
  519. private GameObject m_DeckObj;
  520. [SerializeField]
  521. [Header("UIの当たり判定クラス")]
  522. private GraphicRaycaster m_UIRaycaster;
  523. [SerializeField]
  524. [Header("独自のSe再生用")]
  525. private AudioSource m_CardSe;
  526. [SerializeField]
  527. private AudioSource m_BustSe;
  528. private DealQueue m_DealQueue;
  529. private bool m_ControlEnable;
  530. private CameraMain.CameraType m_MainCamType;
  531. private Vector3 m_ChaOffsetPos;
  532. private Vector3 m_ChaOffsetRot;
  533. private string m_CancelLabel;
  534. [Serializable]
  535. private class CamSetting
  536. {
  537. [Header("カメラのターゲット位置")]
  538. public Vector3 TatgetPos;
  539. [Header("カメラの相対角度")]
  540. public Vector2 TargetAngle;
  541. [Header("ターゲットに対するカメラの距離")]
  542. public float Distance;
  543. }
  544. }