Esempio n. 1
0
		public override void Exit(StateMediator<BattleStateName> mediator)
		{
			var effect = Object.Instantiate(ResourceUtils.GetMenkoReturnEffect());
			effect.transform.position = decideMenko.transform.position;
			Object.Destroy(decideMenko.gameObject);
			PhotonManager.Instance.RemoveRPCEvent("Flipping");
		}
Esempio n. 2
0
		IEnumerator ShowResult(StateMediator<BattleStateName> mediator)
		{
			while (decideMenko.IsSleep() == false)
			{
				yield return null;
			}

			bool isFirst = !decideMenko.IsBack();
			isFirst = manager.Data.IsPlayerHost ? isFirst : !isFirst;

			string guideText;
			if (isFirst)
			{
				guideText = @"あなたは <color=""red"">先攻</color> になりました";
			}
			else
			{
				guideText = @"あなたは <color=""red"">後攻</color> になりました";
			}
			manager.ViewModels.GuideVM.GuideText = guideText;

			yield return new WaitForSeconds(WaitTime);

			manager.ViewModels.GuideVM.GuideText = "";
			mediator.SetState(new StartGame(manager, isFirst));
		}
Esempio n. 3
0
		public override void Init(StateMediator<BattleStateName> mediator)
		{
			this.mediator = mediator;
			PhotonManager.Instance.AddRPCEvent("Flipping", Flipping);
			manager.ViewModels.GuideVM.GuideText = "メンコの表裏で\n先攻後攻を決定します";
			var path = BattleConst.Menko.DecideMenkoPath;
			var prefab = (DecideMenko)AssetManager.Load<DecideMenko>(path).Asset;
			decideMenko = Object.Instantiate(prefab);
			decideMenko.transform.position = Vector3.up * 1f;

			if (PhotonNetwork.offlineMode)
			{
				Flipping(new object[] { Random.Range(2.5f, 10f), Random.Range(50f, 150f) });
				return;
			}

			if (PhotonNetwork.player.isMasterClient)
			{
				PhotonManager.Instance.SendRPC(
					"Flipping",
					PhotonTargets.All,
					Random.Range(2.5f, 10f),
					Random.Range(50f, 150f)
				);
			}
		}
Esempio n. 4
0
		public override void Update(StateMediator<PhaseStateName> mediator)
		{
			if (isFallPointRegisted)
			{
				mediator.SetState(share.cache.GetState(PhaseStateName.Attack));
			}
		}
Esempio n. 5
0
		public override void Init(StateMediator<BattleStateName> mediator)
		{
			Debug.Log("対戦相手のターン");
			timer = 0;
			manager.ViewModels.GuideVM.GuideText = @"<color=""blue"">相手</color>のターンです";
//			this.phaseSM.SetState(PhaseStateName.SelectChip);
		}
Esempio n. 6
0
        public override void Init(StateMediator <SceneName> mediator)
        {
            Debug.Log("Start Battle Scene");

            manager.Init();
            this.stateMachine.Init();
        }
Esempio n. 7
0
 public override void Update(StateMediator <PlayState> mediator)
 {
     if (IsEnd())
     {
         mediator.SetState(nextState);
     }
 }
Esempio n. 8
0
 public void Init(StateMediator <GameStateType> mediator)
 {
     isSelected = false;
     this.gameMediator.selecter.callback += Selected;
     this.gameMediator.selecter.ShowUp();
     Debug.Log("Game - PlayerSelectChip");
 }
Esempio n. 9
0
		public override void Init(StateMediator<PlayState> mediator)
		{
			if (audio.main.isPlaying)
			{
				audio.main.Pause();
			}
		}
Esempio n. 10
0
        public override void Init(StateMediator <BattleStateName> mediator)
        {
            this.mediator = mediator;
            PhotonManager.Instance.AddRPCEvent("Flipping", Flipping);
            manager.ViewModels.GuideVM.GuideText = "メンコの表裏で\n先攻後攻を決定します";
            var path   = BattleConst.Menko.DecideMenkoPath;
            var prefab = (DecideMenko)AssetManager.Load <DecideMenko>(path).Asset;

            decideMenko = Object.Instantiate(prefab);
            decideMenko.transform.position = Vector3.up * 1f;

            if (PhotonNetwork.offlineMode)
            {
                Flipping(new object[] { Random.Range(2.5f, 10f), Random.Range(50f, 150f) });
                return;
            }

            if (PhotonNetwork.player.isMasterClient)
            {
                PhotonManager.Instance.SendRPC(
                    "Flipping",
                    PhotonTargets.All,
                    Random.Range(2.5f, 10f),
                    Random.Range(50f, 150f)
                    );
            }
        }
Esempio n. 11
0
 public override void Update(StateMediator <PhaseStateName> mediator)
 {
     if (IsEnd())
     {
         mediator.SetState(share.cache.GetState(PhaseStateName.SetFallPoint));
     }
 }
Esempio n. 12
0
		public override void Update(StateMediator<PlayState> mediator)
		{
			if (IsEnd())
			{
				mediator.SetState(nextState);
			}
		}
Esempio n. 13
0
 public override void Update(StateMediator <BattleStateName> mediator)
 {
     if (IsEnd())
     {
         mediator.SetState(turnLoop.CurrentTurnState());
     }
 }
Esempio n. 14
0
		public override void Update(StateMediator<PhaseStateName> mediator)
		{
			if (IsEnd())
			{
				mediator.SetState(share.cache.GetState(PhaseStateName.SetFallPoint));
			}
		}
Esempio n. 15
0
        public override void Init(StateMediator <BattleStateName> mediator)
        {
            Debug.Log("対戦相手のターン");
            timer = 0;
            manager.ViewModels.GuideVM.GuideText = @"<color=""blue"">相手</color>のターンです";
//			this.phaseSM.SetState(PhaseStateName.SelectChip);
        }
Esempio n. 16
0
 public void Update(StateMediator <GameStateType> mediator)
 {
     if (IsEnd())
     {
         mediator.SetState(new PlayerSetFallPoint(gameMediator));
     }
 }
Esempio n. 17
0
 public void Update(StateMediator <GameStateType> mediator)
 {
     if (IsEnd())
     {
         mediator.SetState(new PlayerSelectChip(gameMediator));
     }
 }
Esempio n. 18
0
		public override void Init(StateMediator<SceneName> mediator)
		{
			Debug.Log("Start Battle Scene");

			manager.Init();
			this.stateMachine.Init();
		}
Esempio n. 19
0
        public void Update(StateMediator <ShakeKey> mediator)
        {
            info.accelarations.Add(Input.gyro.userAcceleration);
            info.gyroAngles.Add(gyro.attitude.eulerAngles);


                        #if UNITY_EDITOR || UNITY_EDITOR_64 || UNITY_EDITOR_OSX
            if (Input.GetKey(KeyCode.Mouse0))
            {
                info.accelarations.Add(Vector3.forward * ShakeParam.AccelThreshold);
                info.gyroAngles.Add(Vector3.zero);
                mediator.SetState(info.stateCache.GetState(ShakeKey.End));
            }
                        #endif

            if (IsEnd())
            {
                if (IsShake())
                {
                    mediator.SetState(info.stateCache.GetState(ShakeKey.End));
                }
                else
                {
                    mediator.SetState(info.stateCache.GetState(ShakeKey.Wait));
                }
            }
        }
Esempio n. 20
0
 public override void Init(StateMediator <PlayState> mediator)
 {
     if (audio.main.isPlaying)
     {
         audio.main.Pause();
     }
 }
Esempio n. 21
0
		public override void Update(StateMediator<BattleStateName> mediator)
		{
			if (IsEnd())
			{
				mediator.SetState(turnLoop.CurrentTurnState());
			}
		}
Esempio n. 22
0
 public override void Update(StateMediator <PhaseStateName> mediator)
 {
     if (isFallPointRegisted)
     {
         mediator.SetState(share.cache.GetState(PhaseStateName.Attack));
     }
 }
Esempio n. 23
0
        IEnumerator ShowResult(StateMediator <BattleStateName> mediator)
        {
            while (decideMenko.IsSleep() == false)
            {
                yield return(null);
            }

            bool isFirst = !decideMenko.IsBack();

            isFirst = manager.Data.IsPlayerHost ? isFirst : !isFirst;

            string guideText;

            if (isFirst)
            {
                guideText = @"あなたは <color=""red"">先攻</color> になりました";
            }
            else
            {
                guideText = @"あなたは <color=""red"">後攻</color> になりました";
            }
            manager.ViewModels.GuideVM.GuideText = guideText;

            yield return(new WaitForSeconds(WaitTime));

            manager.ViewModels.GuideVM.GuideText = "";
            mediator.SetState(new StartGame(manager, isFirst));
        }
Esempio n. 24
0
        IEnumerator Load(StateMediator <SceneName> mediator)
        {
            // Loading画面の検索
            LoadingScreen screen;

            screen = GameObject.FindObjectOfType <LoadingScreen>();

            // Loading画面の生成
            if (screen == null)
            {
                var asset = AssetManager.Load(AssetPath.GetLoadScreenPath());
                screen = ((GameObject)GameObject.Instantiate(asset.Asset)).GetComponent <LoadingScreen>();
            }

            // 画面の遷移表現開始
            screen.ShowScreen();

            // 画面の遷移表現が終わるまで待つ
            while (screen.IsFading())
            {
                yield return(null);
            }

            // 少しだけWait
            yield return(new WaitForSeconds(0.5f));

            // Unityシーンの非同期ロード開始
            this.sceneTrans.Load();

            // Unityシーンのロード進捗を待つ
            while (this.sceneTrans.Progress < 1.0f)
            {
                // 画面のロード進捗へProgress値を渡す
                screen.SetProgress(this.sceneTrans.Progress);
                yield return(null);
            }
            screen.SetProgress(this.sceneTrans.Progress);

            // Unityシーンの切り替え終了まで待つ
            while (this.sceneTrans.IsDone == false)
            {
                yield return(null);
            }

            // 少しだけWait
            yield return(new WaitForSeconds(0.5f));

            // 画面の遷移表現開始
            screen.HideScreen();

            // 画面の遷移表現が終わるまで待つ
            while (screen.IsFading())
            {
                yield return(null);
            }

            // SceneStateの遷移、移動先のステートスタート
            mediator.SetState(nextScene);
        }
Esempio n. 25
0
 public void Exit(StateMediator <GameStateType> mediator)
 {
     Sound.Instance.PlaySE(gameMediator.selectSound);
     gameMediator.fallPointText.enabled = false;
     TouchSensor.Instance.RemoveAction(TouchState.Enter, TouchMove);
     TouchSensor.Instance.RemoveAction(TouchState.Move, TouchMove);
     TouchSensor.Instance.RemoveAction(TouchState.Exit, TouchExit);
 }
Esempio n. 26
0
        public override void Exit(StateMediator <BattleStateName> mediator)
        {
            var effect = Object.Instantiate(ResourceUtils.GetMenkoReturnEffect());

            effect.transform.position = decideMenko.transform.position;
            Object.Destroy(decideMenko.gameObject);
            PhotonManager.Instance.RemoveRPCEvent("Flipping");
        }
Esempio n. 27
0
		public override void Update(StateMediator<BattleStateName> mediator)
		{
			phaseSM.UpdateState();
			if (IsEnd())
			{
				mediator.SetState(turnLoop.NextTurnState());
			}
		}
Esempio n. 28
0
 public override void Update(StateMediator <BattleStateName> mediator)
 {
     phaseSM.UpdateState();
     if (IsEnd())
     {
         mediator.SetState(turnLoop.NextTurnState());
     }
 }
Esempio n. 29
0
 public void Init(StateMediator <ShakeKey> mediator)
 {
     info.accelarations.Clear();
     info.gyroAngles.Clear();
     info.accelarations.Add(Input.gyro.userAcceleration);
     info.gyroAngles.Add(gyro.attitude.eulerAngles);
     Debug.Log("ShakeState_Shaking");
 }
Esempio n. 30
0
 public override void Init(StateMediator <PhaseStateName> mediator)
 {
     Debug.Log("Attack !");
     this.mediator = mediator;
     shakeCounter.StartShake(EndShake);
     manager.ViewModels.BattleVM.BackButtonVM.Enabled = true;
     manager.ViewModels.BattleVM.BackButtonVM.Action  = BackToSelect;
 }
Esempio n. 31
0
		public override void Init(StateMediator<PhaseStateName> mediator)
		{
			Debug.Log("Attack !");
			this.mediator = mediator;
			shakeCounter.StartShake(EndShake);
			manager.ViewModels.BattleVM.BackButtonVM.Enabled = true;
			manager.ViewModels.BattleVM.BackButtonVM.Action = BackToSelect;
		}
Esempio n. 32
0
		IEnumerator Load(StateMediator<SceneName> mediator)
		{
			// Loading画面の検索
			LoadingScreen screen;
			screen = GameObject.FindObjectOfType<LoadingScreen>();

			// Loading画面の生成
			if (screen == null)
			{
				var asset = AssetManager.Load(AssetPath.GetLoadScreenPath());
				screen = ((GameObject)GameObject.Instantiate(asset.Asset)).GetComponent<LoadingScreen>();
			}

			// 画面の遷移表現開始
			screen.ShowScreen();

			// 画面の遷移表現が終わるまで待つ
			while (screen.IsFading())
			{
				yield return null;
			}

			// 少しだけWait
			yield return new WaitForSeconds(0.5f);

			// Unityシーンの非同期ロード開始
			this.sceneTrans.Load();

			// Unityシーンのロード進捗を待つ
			while (this.sceneTrans.Progress < 1.0f)
			{
				// 画面のロード進捗へProgress値を渡す
				screen.SetProgress(this.sceneTrans.Progress);
				yield return null;
			}
			screen.SetProgress(this.sceneTrans.Progress);

			// Unityシーンの切り替え終了まで待つ
			while (this.sceneTrans.IsDone == false)
			{
				yield return null;
			}

			// 少しだけWait
			yield return new WaitForSeconds(0.5f);

			// 画面の遷移表現開始
			screen.HideScreen();

			// 画面の遷移表現が終わるまで待つ
			while (screen.IsFading())
			{
				yield return null;
			}

			// SceneStateの遷移、移動先のステートスタート
			mediator.SetState(nextScene);
		}
Esempio n. 33
0
        public override void Update(StateMediator <SceneName> mediator)
        {
            this.stateMachine.Update();

            if (this.manager.IsBattleEnd())
            {
                SceneManager.Instance.ChangeScene(new HomeScene());
            }
        }
Esempio n. 34
0
        public override void Init(StateMediator <PlayState> mediator)
        {
            audio.main.volume = SoundVolume.PlayBGMVolume;

            if (audio.main.isPlaying == false)
            {
                audio.main.Play();
            }
        }
Esempio n. 35
0
        public override void Update(StateMediator <BattleStateName> mediator)
        {
//			this.phaseSM.UpdateState();
            timer += Time.deltaTime;
            if (IsEnd())
            {
                mediator.SetState(turnLoop.NextTurnState());
            }
        }
Esempio n. 36
0
		public override void Init(StateMediator<PlayState> mediator)
		{
			audio.main.volume = SoundVolume.PlayBGMVolume;

			if (audio.main.isPlaying == false)
			{
				audio.main.Play();
			}
		}
Esempio n. 37
0
        public override void Init(StateMediator <BattleStateName> mediator)
        {
            Debug.Log("結果表示");

            //TODO: 勝敗結果データを入れていく
            //TODO: 結果表示のUI展開

            OnPressed();
        }
Esempio n. 38
0
		public override void Update(StateMediator<SceneName> mediator)
		{
			this.stateMachine.Update();

			if (this.manager.IsBattleEnd())
			{
				SceneManager.Instance.ChangeScene(new HomeScene());
			}
		}
Esempio n. 39
0
		public override void Init(StateMediator<BattleStateName> mediator)
		{
			Debug.Log("結果表示");

			//TODO: 勝敗結果データを入れていく
			//TODO: 結果表示のUI展開

			OnPressed();
		}
Esempio n. 40
0
		public override void Update(StateMediator<BattleStateName> mediator)
		{
//			this.phaseSM.UpdateState();
			timer += Time.deltaTime;
			if (IsEnd())
			{
				mediator.SetState(turnLoop.NextTurnState());
			}
		}
Esempio n. 41
0
		public override void Update(StateMediator<PlayState> mediator)
		{
			timer += Time.deltaTime;
			audio.main.volume += fadeAmount * Time.deltaTime;

			if (IsEnd())
			{
				mediator.SetState(nextState);
			}
		}
Esempio n. 42
0
		public override void Init(StateMediator<PlayState> mediator)
		{
			this.audio.sub.volume = SoundVolume.PlayBGMVolume;
			this.audio.sub.loop = false;

			if (audio.main.isPlaying)
				audio.main.Pause();

			this.audio.sub.Play();
		}
Esempio n. 43
0
        public override void Update(StateMediator <PlayState> mediator)
        {
            timer             += Time.deltaTime;
            audio.main.volume += fadeAmount * Time.deltaTime;

            if (IsEnd())
            {
                mediator.SetState(nextState);
            }
        }
Esempio n. 44
0
		public override void Init(StateMediator<BattleStateName> mediator)
		{
			Debug.Log("ゲームスタート");

			// ターンのループステートを事前生成しておく
			turnLoop = new TurnLoop(manager, isPlayerFirst);

			// 使用メンコの初期生成
			PreInstantiate(manager.Data.AllBattleData);
		}
Esempio n. 45
0
        public override void Init(StateMediator <BattleStateName> mediator)
        {
            Debug.Log("対戦終了");
            this.mediator = mediator;

            //TODO: ネットワーク対戦の場合はこの時点でルーム解散してログアウトする

            // 対戦終了演出の開始
            manager.UI.PlayEnd(OnEnd);
        }
Esempio n. 46
0
		public override void Init(StateMediator<BattleStateName> mediator)
		{
			Debug.Log("対戦終了");
			this.mediator = mediator;

			//TODO: ネットワーク対戦の場合はこの時点でルーム解散してログアウトする

			// 対戦終了演出の開始
			manager.UI.PlayEnd(OnEnd);
		}
Esempio n. 47
0
        public override void Init(StateMediator <BattleStateName> mediator)
        {
            Debug.Log("ゲームスタート");

            // ターンのループステートを事前生成しておく
            turnLoop = new TurnLoop(manager, isPlayerFirst);

            // 使用メンコの初期生成
            PreInstantiate(manager.Data.AllBattleData);
        }
Esempio n. 48
0
 public void Init(StateMediator <GameStateType> mediator)
 {
     fallPointer = gameMediator.baseObjects.fallPointer.transform;
     TouchSensor.Instance.AddAction(TouchState.Enter, TouchMove);
     TouchSensor.Instance.AddAction(TouchState.Move, TouchMove);
     TouchSensor.Instance.AddAction(TouchState.Exit, TouchExit);
     TouchSensor.Instance.SingleTouchMode(true);
     gameMediator.fallPointText.enabled = true;
     Debug.Log("Game - PlayerAttack");
 }
Esempio n. 49
0
 public override void Init(StateMediator <PhaseStateName> mediator)
 {
     manager.ViewModels.GuideVM.GuideText = "落下位置をタップしてください";
     isMoved             = false;
     isFallPointRegisted = false;
     SetupCamera();
     TouchSensor.Instance.AddAction(TouchState.Enter, TouchMove);
     TouchSensor.Instance.AddAction(TouchState.Move, TouchMove);
     TouchSensor.Instance.AddAction(TouchState.Exit, TouchExit);
     TouchSensor.Instance.SingleTouchMode(true);
 }
Esempio n. 50
0
		public override void Init(StateMediator<PhaseStateName> mediator)
		{
			manager.ViewModels.GuideVM.GuideText = "落下位置をタップしてください";
			isMoved = false;
			isFallPointRegisted = false;
			SetupCamera();
			TouchSensor.Instance.AddAction(TouchState.Enter, TouchMove);
			TouchSensor.Instance.AddAction(TouchState.Move, TouchMove);
			TouchSensor.Instance.AddAction(TouchState.Exit, TouchExit);
			TouchSensor.Instance.SingleTouchMode(true);
		}
Esempio n. 51
0
        public override void Update(StateMediator <PlayState> mediator)
        {
            audio.main.volume = SoundVolume.PlayBGMVolume;
            audio.sub.volume  = SoundVolume.PlayBGMVolume;

            // イントロが終了していたらnextStateに移行
            if (this.audio.sub.isPlaying == false)
            {
                mediator.SetState(nextState);
            }
        }
Esempio n. 52
0
		public override void Update(StateMediator<PlayState> mediator)
		{
			audio.main.volume = SoundVolume.PlayBGMVolume;
			audio.sub.volume = SoundVolume.PlayBGMVolume;

			// イントロが終了していたらnextStateに移行
			if (this.audio.sub.isPlaying == false)
			{
				mediator.SetState(nextState);
			}
		}
Esempio n. 53
0
        public override void Init(StateMediator <PlayState> mediator)
        {
            this.audio.sub.volume = SoundVolume.PlayBGMVolume;
            this.audio.sub.loop   = false;

            if (audio.main.isPlaying)
            {
                audio.main.Pause();
            }

            this.audio.sub.Play();
        }
Esempio n. 54
0
		public override void Init(StateMediator<PlayState> mediator)
		{
			timer = 0;

			if (SoundVolume.PlayBGMVolume <= 0f)
			{
				timer = fadeTime;
			}
			else
			{
				fadeAmount = (audio.main.volume / fadeTime) * -1f;
			}
		}
Esempio n. 55
0
		public override void Init(StateMediator<PlayState> mediator)
		{
			if (SoundVolume.PlayBGMVolume <= 0f)
			{
				timer = fadeTime;
				return;
			}

			timer = 0;
			fadeInAmount = SoundVolume.PlayBGMVolume / fadeTime;
			fadeOutAmount = (audio.sub.volume / fadeTime) * -1f;

			audio.main.volume = 0f;
			audio.main.Play();
		}
Esempio n. 56
0
		public override void Exit(StateMediator<PhaseStateName> mediator)
		{
			TouchSensor.Instance.RemoveAction(TouchState.Enter, TouchMove);
			TouchSensor.Instance.RemoveAction(TouchState.Move, TouchMove);
			TouchSensor.Instance.RemoveAction(TouchState.Exit, TouchExit);

			if (isPlayer)
			{
				var unitList = manager.ViewModels.UnitListVM.PlayerUnitList;
				for (int i = 0; i < unitList.Count; i++)
				{
					unitList[i].Pressed = null;
					unitList[i].LongPressed = null;
				}
			}
		}
Esempio n. 57
0
		public override void Init(StateMediator<PlayState> mediator)
		{
			timer = 0;
			audio.main.volume = 0f;

			if (SoundVolume.PlayBGMVolume <= 0f)
			{
				timer = fadeTime;
			}
			else
			{
				fadeAmount = (SoundVolume.PlayBGMVolume - audio.main.volume) / fadeTime;
			}

			audio.main.Play();
		}
Esempio n. 58
0
		public override void Init(StateMediator<BattleStateName> mediator)
		{
			Debug.Log("ゲームの開始前準備");
			this.mediator = mediator;

			manager.UI.EntryScreen(this.NextState);

			//// ネットワーク接続(test)
			//// 本番は自分が到着したことを知らせるBufferRPCを飛ばす
			//PhotonManager.Instance.Connection(InRoom);

			// マップのロード
			var assetData = AssetManager.Load(AssetPath.GetStagePrefabPath(manager.Data.StageNumber));
			GameObject.Instantiate(assetData.Asset);

			//this.manager.ViewModels.GuideVM.GuideText = "対戦相手の到着を\n待っています...";
		}
Esempio n. 59
0
		public override void Init(StateMediator<BattleStateName> mediator)
		{
			Debug.Log("プレイヤーのターン");
			manager.ViewModels.GuideVM.GuideText = @"<color=""red"">あなた</color>のターンです";
			
			var unitList = manager.Data.PlayerUnit.GetData();
			var unitVMList = manager.ViewModels.UnitListVM.PlayerUnitList;
			for (int i = 0; i < unitList.Length; i++)
			{
				var unit = unitList[i];
				var unitVM = unitVMList[i];

				unit.Status.ElapseTurn();
				SetUpButton(unitVM);
			}

			phaseSM.SetState(PhaseStateName.SelectChip);
		}
Esempio n. 60
0
		public override void Init(StateMediator<PhaseStateName> mediator)
		{
			share.fallPointer.gameObject.SetActive(false);
			isPressed = false;
			share.selectIndex = -1;
			share.isUseSkill = false;
			if (isPlayer)
			{
				unitList = manager.ViewModels.UnitListVM.PlayerUnitList;
				for (int i = 0; i < unitList.Count; i++)
				{
					int index = i;
					unitList[i].Pressed = () => Pressed(index);
					unitList[i].LongPressed = () => LongPressed(index);
				}
				manager.ViewModels.GuideVM.SelecterEnabled = true;
			}
		}