public CheckGuess(BattleManager _bm, Stats _plStats, EnemyBattleData _npcData, PlayerHand _plrHnd, NPCHand _npcHnd, bool _isChallenged) : base(_bm, _plStats, _npcData, _plrHnd, _npcHnd) { name = Phases.GuessCheck; isCurrentPlayerChallenged = _isChallenged; pot = battleManager.pot; }
private static void MapDescend(EventMoveMap eventMoveMap, MapManager mapManager) { AllEventManager allEventMgr = AllEventManager.GetInstance(); AllSceneManager allSceneMgr = AllSceneManager.GetInstance(); PlayerTrainerData playerTrainerData = PlayerTrainerData.GetInstance(); EnemyTrainerData enemyTrainerData = EnemyTrainerData.GetInstance(); PlayerBattleData playerBattleData = PlayerBattleData.GetInstance(); EnemyBattleData enemyBattleData = EnemyBattleData.GetInstance(); playerTrainerData.nowMapFloor_ -= 1; mapManager.GetPlayerMoveMap().SetStartPos(new Vector3(9, 9.2f, -1)); //フェードアウト allEventMgr.EventSpriteRendererSet( allSceneMgr.GetPublicFrontScreen().GetEventScreenSprite() , null , new Color(allSceneMgr.GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.r, allSceneMgr.GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.g, allSceneMgr.GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.b, 255) ); allEventMgr.EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.ChangeColor); allEventMgr.AllUpdateEventExecute(0.4f); //シーンの切り替え allEventMgr.SceneChangeEventSet(SceneState.Map, SceneChangeMode.Change); }
public Challenge(BattleManager _bm, Stats _plStats, EnemyBattleData _npcData, PlayerHand _plrHnd, NPCHand _npcHnd) : base(_bm, _plStats, _npcData, _plrHnd, _npcHnd) { name = Phases.Challenge; npcHand.onChallengeAccepted += ChallengeHuman; npcHand.onChallengePassed += PassChallengingHuman; }
public TurnEnd(BattleManager _bm, Stats _plStats, EnemyBattleData _npcData, PlayerHand _plrHnd, NPCHand _npcHnd, bool _isWon) : base(_bm, _plStats, _npcData, _plrHnd, _npcHnd) { name = Phases.EndTurn; isChallengeWon = _isWon; table = battleManager.table; pot = battleManager.pot; infoCard = System.Array.Find(battleManager.infoCardsPrefabs, c => c.cardType == InfoType.TurnEnd); }
public CardPlay(BattleManager _bm, Stats _plStats, EnemyBattleData _npcData, PlayerHand _plrHnd, NPCHand _npcHnd) : base(_bm, _plStats, _npcData, _plrHnd, _npcHnd) { name = Phases.CardPick; playerHand.humanCardPlayed += OnHumanCardPlayed; npcHand.onCardPlayed += OnCardPlayed; infoCard = System.Array.Find(battleManager.infoCardsPrefabs, c => c.cardType == InfoType.CardPick); }
static public EnemyBattleData GetInstance() { if (instance_ != null) { return(instance_); } instance_ = new EnemyBattleData(); return(instance_); }
public CardDeal(BattleManager _bm, Stats _plStats, EnemyBattleData _npcData, PlayerHand _plrHnd, NPCHand _npcHnd) : base(_bm, _plStats, _npcData, _plrHnd, _npcHnd) { name = Phases.CardDeal; player = battleManager.playerTurn; battleManager.onDealEnded += OnCardDealEnded; infoCard = System.Array.Find(battleManager.infoCardsPrefabs, c => c.cardType == InfoType.CardDeal); }
public Phase(BattleManager _battleManager, Stats _playerStats, EnemyBattleData _npcData, PlayerHand _playerHand, NPCHand _npcHand) { battleManager = _battleManager; npcData = _npcData; playerStats = _playerStats; playerHand = _playerHand; npcHand = _npcHand; startingHpPlayer = playerStats.hP; currentHpPlayer = battleManager.playerCurrentHP; startingHpNPC = npcData.health; currentHpNPC = battleManager.npcCurrentHP; stage = Stages.Enter; }
float exitTimer = 2f; // how long to wait before exiting this phase public Start(BattleManager _battleManager, Stats _playerStats, EnemyBattleData _npcData, PlayerHand _plrHnd, NPCHand _npcHnd) : base(_battleManager, _playerStats, _npcData, _plrHnd, _npcHnd) { name = Phases.BattleStart; cardDealer = battleManager.dealer; //npcCard = battleManager.nPCCardDisplay; //npcNameDisplay = battleManager.nPCNameDisplay; nPCDisplay = battleManager.nPCDisplay; roundNumberDisplay = battleManager.roundNumberDisplay; targetNumberDisplay = battleManager.targetNumberDisplay; currentNumberDisplay = battleManager.currentNumberDisplay; infoCard = System.Array.Find(battleManager.infoCardsPrefabs, c => c.cardType == InfoType.NewBattle); }
public IProcessState Update(BattleManager mgr) { if (AllEventManager.GetInstance().EventUpdate()) { eventEnd_ = true; } //敵の思考時間の処理 EnemyBattleData.GetInstance().ThinkingTimeCounter(); //思考時間が終わっていたら if (EnemyBattleData.GetInstance().ThinkingTimeEnd() && eventEnd_) { int commandRandomResult = AllSceneManager.GetInstance().GetRandom().Next(0, 100); //エネミーの行動の決定 if (commandRandomResult < EnemyTrainerData.GetInstance().GetAttackRate()) { } else if (commandRandomResult < EnemyTrainerData.GetInstance().GetAttackRate() + EnemyTrainerData.GetInstance().GetTradeRate()) { //タイプ相性の測定 int[] typeSimillarResult = new int[2] { 0, 0 }; int[] monsterNumbers = new int[2] { 1, 2 }; //先頭以外で測定 for (int i = 0; i < EnemyBattleData.GetInstance().GetMonsterDatasLength() - 1; ++i) { //戦えたら、None以外だったら if (EnemyBattleData.GetInstance().GetMonsterDatas(i).battleActive_ && EnemyBattleData.GetInstance().GetMonsterDatas(i).tribesData_.monsterNumber_ != 0) { { int simillarResult = PlayerBattleData.GetInstance().GetMonsterDatas(0).ElementSimillarCheckerForValue(EnemyBattleData.GetInstance().GetMonsterDatas(i).tribesData_.firstElement_); typeSimillarResult[i] += simillarResult; } { int simillarResult = PlayerBattleData.GetInstance().GetMonsterDatas(0).ElementSimillarCheckerForValue(EnemyBattleData.GetInstance().GetMonsterDatas(i).tribesData_.secondElement_); typeSimillarResult[i] += simillarResult; } } } //タイプ相性が良い順にソート t13.Utility.SimpleHiSort2Index(typeSimillarResult, monsterNumbers); //交換するモンスターの選択 for (int i = 0; i < monsterNumbers.Length; ++i) { //Noneまたは、戦えなかったら if (EnemyBattleData.GetInstance().GetMonsterDatas(monsterNumbers[i]).tribesData_.monsterNumber_ == (int)MonsterTribesDataNumber.None || !EnemyBattleData.GetInstance().GetMonsterDatas(monsterNumbers[i]).battleActive_ ) { continue; } EnemyBattleData.GetInstance().changeMonsterNumber_ = monsterNumbers[i]; EnemyBattleData.GetInstance().changeMonsterActive_ = true; //ループの終了 i = monsterNumbers.Length; } } //現在、場に出ているモンスターのデータの取得 IMonsterData enemyMD = EnemyBattleData.GetInstance().GetMonsterDatas(EnemyBattleData.GetInstance().changeMonsterNumber_); IMonsterData playerMD = PlayerBattleData.GetInstance().GetMonsterDatas(0); const int EFFECT_ATTACK_SIZE = 4; int nowEffectAttackSize = 0; int[] skillDamages = new int[EFFECT_ATTACK_SIZE] { 0, 0, 0, 0, }; int[] skillNumbers = new int[EFFECT_ATTACK_SIZE] { 0, 0, 0, 0, }; //攻撃技の威力計算 for (int i = 0; i < enemyMD.GetSkillSize(); ++i) { //HPへのダメージ技以外だったら if (enemyMD.GetSkillDatas(i).effectValueType_.state_ != EffectValueTypeState.HitPointDamage) { continue; } skillDamages[nowEffectAttackSize] = MonsterData.TestDamageCalculate(enemyMD, playerMD, enemyMD.GetSkillDatas(i)); skillNumbers[nowEffectAttackSize] = i; nowEffectAttackSize += 1; } //ダメージ量を大きい順にソート for (int i = 0; i < nowEffectAttackSize - 1; ++i) { for (int j = i + 1; j < nowEffectAttackSize; ++j) { if (skillDamages[i] < skillDamages[j]) { { int tmp = skillDamages[i]; skillDamages[i] = skillDamages[j]; skillDamages[j] = tmp; } { int tmp = skillNumbers[i]; skillNumbers[i] = skillNumbers[j]; skillNumbers[j] = tmp; } } } } //一番の火力の高い技を選択 for (int i = 0; i < skillNumbers.Length; ++i) { //if (enemyMD.GetSkillDatas(skillNumbers[i]).nowPlayPoint_ > 0) { // mgr.enemySelectSkillNumber_ = skillNumbers[i]; // i = skillNumbers.Length; //} mgr.enemySelectSkillNumber_ = skillNumbers[i]; i = skillNumbers.Length; } //こんらん状態であれば if (enemyMD.battleData_.HaveAbnormalType(AbnormalType.Confusion)) { //2/10の確立 if (AllSceneManager.GetInstance().GetRandom().Next(0, 10) < 3) { mgr.enemySelectSkillNumber_ = AllSceneManager.GetInstance().GetRandom().Next(0, skillNumbers.Length); } } //気まぐれで変化 //3/10の確立 if (AllSceneManager.GetInstance().GetRandom().Next(0, 10) < 3) { mgr.enemySelectSkillNumber_ = AllSceneManager.GetInstance().GetRandom().Next(0, skillNumbers.Length); } //dpが100以上だったら if (EnemyBattleData.GetInstance().GetDreamPoint() >= 100) { //先頭がパワーアップしていなかったら if (!EnemyBattleData.GetInstance().GetMonsterDatas(0).battleData_.HaveAbnormalType(AbnormalType.Hero)) { //パワーアップするか否かのフラグの設定 EnemyBattleData.GetInstance().dreamSyncronize_ = true; } } //ppの消費 //ISkillData enemySkillData = enemyMD.GetSkillDatas(mgr.enemySelectSkillNumber_); //enemySkillData.nowPlayPoint_ -= 1; eventEnd_ = false; return(mgr.nowProcessState().NextProcess()); } //やけどのダメージ処理 if (mgr.BurnsDamageProcess(EnemyBattleData.GetInstance(), mgr.GetEnemyStatusInfoParts(), mgr.GetEnemyMonsterParts())) { return(new CommandEventExecuteProcess()); } if (EnemyBattleData.GetInstance().PoinsonCounter()) { //どくのダメージ処理 mgr.PoisonDamageProcess(EnemyBattleData.GetInstance(), mgr.GetEnemyStatusInfoParts(), mgr.GetEnemyMonsterParts()); if (mgr.PoisonDamageDown()) { return(new CommandEventExecuteProcess()); } } return(this); }
public IProcessState Update(BattleManager mgr) { ////DPの演出のイベント //mgr.PlayerEnemyStatusInfoPartsDPEffect(); //ウィンドウの表示 mgr.GetNovelWindowParts().gameObject.SetActive(true); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); //パワーアップしていたら if (PlayerBattleData.GetInstance().dreamSyncronize_ == true) { //dpの初期化 PlayerBattleData.GetInstance().DreamPointReset(); PlayerBattleData.GetInstance().dreamSyncronize_ = false; //ゆめの文字色の変更 mgr.GetDreamCommandSprite().color = new Color32(255, 255, 255, 255); //DPの演出のイベント mgr.GetPlayerDreamPointInfoParts().DPEffectEventSet(PlayerBattleData.GetInstance().GetDreamPoint()); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); //BGMの音量の減少 AllEventManager.GetInstance().BGMAudioVolumeChangeEventSet(0.15f); //パワーアップの演出 mgr.GetDreamEffectParts().DreamSyncronizeEventSet(PlayerBattleData.GetInstance().GetMonsterDatas(0), new Vector3(-13.0f, 0.8f, -1.0f), new Vector3(13.0f, 0.8f, -1.0f)); //画像の変更 { List <Sprite> sprites = new List <Sprite>(); sprites.Add(PlayerBattleData.GetInstance().GetMonsterDatas(0).tribesData_.backDreamTex_); AllEventManager.GetInstance().EventSpriteRendererSet(mgr.GetPlayerMonsterParts().GetEventMonsterSprite(), sprites); AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.SpriteSet); AllEventManager.GetInstance().AllUpdateEventExecute(); } //BGMの変更 AllEventManager.GetInstance().BGMAudioClipChangeEventSet(ResourcesSoundsLoader.GetInstance().GetSounds(SoundsPathSupervisor.GetInstance().GetPathDreamers_Rock())); //BGMの再生 AllEventManager.GetInstance().BGMAudioVolumeChangeEventSet(0.3f); AllEventManager.GetInstance().BGMAudioPlayEventSet(); //能力変化の更新 string abnormalStateContext = new AddAbnormalTypeState(AddAbnormalType.Hero).AddAbnormalTypeExecute(PlayerBattleData.GetInstance().GetMonsterDatas(0)); //文字列のイベント AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), abnormalStateContext); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime()); //状態異常のイベントのセット PlayerBattleData.GetInstance().GetMonsterDatas(0).battleData_.AbnormalSetStatusInfoPartsEventSet(mgr.GetPlayerStatusInfoParts()); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); //ねむりの終了処理 mgr.SleepProcessEnd(); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); } //パワーアップしていたら if (EnemyBattleData.GetInstance().dreamSyncronize_ == true) { //dpの初期化 EnemyBattleData.GetInstance().DreamPointReset(); EnemyBattleData.GetInstance().dreamSyncronize_ = false; //DPの演出のイベント mgr.GetEnemyDreamPointInfoParts().DPEffectEventSet(EnemyBattleData.GetInstance().GetDreamPoint()); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); //BGMの音量の減少 AllEventManager.GetInstance().BGMAudioVolumeChangeEventSet(0.15f); //パワーアップの演出 mgr.GetDreamEffectParts().DreamSyncronizeEventSet(EnemyBattleData.GetInstance().GetMonsterDatas(0), new Vector3(13.0f, 0.8f, -1.0f), new Vector3(-13.0f, 0.8f, -1.0f)); //画像の変更 { List <Sprite> sprites = new List <Sprite>(); sprites.Add(EnemyBattleData.GetInstance().GetMonsterDatas(0).tribesData_.frontDreamTex_); AllEventManager.GetInstance().EventSpriteRendererSet(mgr.GetEnemyMonsterParts().GetEventMonsterSprite(), sprites); AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.SpriteSet); AllEventManager.GetInstance().AllUpdateEventExecute(); } //BGMの再生 AllEventManager.GetInstance().BGMAudioVolumeChangeEventSet(0.3f); //能力変化の更新 string abnormalStateContext = new AddAbnormalTypeState(AddAbnormalType.Hero).AddAbnormalTypeExecute(EnemyBattleData.GetInstance().GetMonsterDatas(0)); //文字列のイベント AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), abnormalStateContext); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime()); //状態異常のイベントのセット EnemyBattleData.GetInstance().GetMonsterDatas(0).battleData_.AbnormalSetStatusInfoPartsEventSet(mgr.GetEnemyStatusInfoParts()); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); } //交換されていたら if (PlayerBattleData.GetInstance().changeMonsterActive_ == true) { PlayerBattleData.GetInstance().MonsterChangeEventSet(mgr); } //交換されていたら if (EnemyBattleData.GetInstance().changeMonsterActive_ == true) { EnemyBattleData.GetInstance().MonsterChangeEventSet(mgr); } //現在、場に出ているモンスターのデータの取得 IMonsterData enemyMonsterData = EnemyBattleData.GetInstance().GetMonsterDatas(0); IMonsterData playerMonsterData = PlayerBattleData.GetInstance().GetMonsterDatas(0); //現在、場に出ているモンスターの選択技のデータの取得 ISkillData enemySkillData = enemyMonsterData.GetSkillDatas(mgr.enemySelectSkillNumber_); ISkillData playerSkillData = playerMonsterData.GetSkillDatas(mgr.playerSelectSkillNumber_); //技の優先度で行動順を決める if (enemySkillData.triggerPriority_ < playerSkillData.triggerPriority_) { //プレイヤーの戦闘処理 SkillResultSet( mgr , mgr.GetPlayerEffectParts() , mgr.GetEnemyEffectParts() , mgr.GetEnemyMonsterParts() , mgr.GetPlayerStatusInfoParts() , mgr.GetEnemyStatusInfoParts() , mgr.GetPlayerDreamPointInfoParts() , mgr.GetEnemyDreamPointInfoParts() , PlayerBattleData.GetInstance() , EnemyBattleData.GetInstance() , playerMonsterData, playerSkillData, enemyMonsterData ); //エネミーの戦闘処理 SkillResultSet( mgr , mgr.GetEnemyEffectParts() , mgr.GetPlayerEffectParts() , mgr.GetPlayerMonsterParts() , mgr.GetEnemyStatusInfoParts() , mgr.GetPlayerStatusInfoParts() , mgr.GetEnemyDreamPointInfoParts() , mgr.GetPlayerDreamPointInfoParts() , EnemyBattleData.GetInstance() , PlayerBattleData.GetInstance() , enemyMonsterData, enemySkillData, playerMonsterData ); } else if (enemySkillData.triggerPriority_ > playerSkillData.triggerPriority_) { //エネミーの戦闘処理 SkillResultSet( mgr , mgr.GetEnemyEffectParts() , mgr.GetPlayerEffectParts() , mgr.GetPlayerMonsterParts() , mgr.GetEnemyStatusInfoParts() , mgr.GetPlayerStatusInfoParts() , mgr.GetEnemyDreamPointInfoParts() , mgr.GetPlayerDreamPointInfoParts() , EnemyBattleData.GetInstance() , PlayerBattleData.GetInstance() , enemyMonsterData, enemySkillData, playerMonsterData ); //プレイヤーの戦闘処理 SkillResultSet( mgr , mgr.GetPlayerEffectParts() , mgr.GetEnemyEffectParts() , mgr.GetEnemyMonsterParts() , mgr.GetPlayerStatusInfoParts() , mgr.GetEnemyStatusInfoParts() , mgr.GetPlayerDreamPointInfoParts() , mgr.GetEnemyDreamPointInfoParts() , PlayerBattleData.GetInstance() , EnemyBattleData.GetInstance() , playerMonsterData, playerSkillData, enemyMonsterData ); } //素早さで行動順を決める else if ((enemyMonsterData.RealSpeed() * enemyMonsterData.battleData_.RealSpeedParameterRank()) < (playerMonsterData.RealSpeed() * playerMonsterData.battleData_.RealSpeedParameterRank())) { //プレイヤーの戦闘処理 SkillResultSet( mgr , mgr.GetPlayerEffectParts() , mgr.GetEnemyEffectParts() , mgr.GetEnemyMonsterParts() , mgr.GetPlayerStatusInfoParts() , mgr.GetEnemyStatusInfoParts() , mgr.GetPlayerDreamPointInfoParts() , mgr.GetEnemyDreamPointInfoParts() , PlayerBattleData.GetInstance() , EnemyBattleData.GetInstance() , playerMonsterData, playerSkillData, enemyMonsterData ); //エネミーの戦闘処理 SkillResultSet( mgr , mgr.GetEnemyEffectParts() , mgr.GetPlayerEffectParts() , mgr.GetPlayerMonsterParts() , mgr.GetEnemyStatusInfoParts() , mgr.GetPlayerStatusInfoParts() , mgr.GetEnemyDreamPointInfoParts() , mgr.GetPlayerDreamPointInfoParts() , EnemyBattleData.GetInstance() , PlayerBattleData.GetInstance() , enemyMonsterData, enemySkillData, playerMonsterData ); } else if ((enemyMonsterData.RealSpeed() * enemyMonsterData.battleData_.RealSpeedParameterRank()) == (playerMonsterData.RealSpeed() * playerMonsterData.battleData_.RealSpeedParameterRank())) { if (AllSceneManager.GetInstance().GetRandom().Next(0, 2) < 1) { //プレイヤーの戦闘処理 SkillResultSet( mgr , mgr.GetPlayerEffectParts() , mgr.GetEnemyEffectParts() , mgr.GetEnemyMonsterParts() , mgr.GetPlayerStatusInfoParts() , mgr.GetEnemyStatusInfoParts() , mgr.GetPlayerDreamPointInfoParts() , mgr.GetEnemyDreamPointInfoParts() , PlayerBattleData.GetInstance() , EnemyBattleData.GetInstance() , playerMonsterData, playerSkillData, enemyMonsterData ); //エネミーの戦闘処理 SkillResultSet( mgr , mgr.GetEnemyEffectParts() , mgr.GetPlayerEffectParts() , mgr.GetPlayerMonsterParts() , mgr.GetEnemyStatusInfoParts() , mgr.GetPlayerStatusInfoParts() , mgr.GetEnemyDreamPointInfoParts() , mgr.GetPlayerDreamPointInfoParts() , EnemyBattleData.GetInstance() , PlayerBattleData.GetInstance() , enemyMonsterData, enemySkillData, playerMonsterData ); } else { //エネミーの戦闘処理 SkillResultSet( mgr , mgr.GetEnemyEffectParts() , mgr.GetPlayerEffectParts() , mgr.GetPlayerMonsterParts() , mgr.GetEnemyStatusInfoParts() , mgr.GetPlayerStatusInfoParts() , mgr.GetEnemyDreamPointInfoParts() , mgr.GetPlayerDreamPointInfoParts() , EnemyBattleData.GetInstance() , PlayerBattleData.GetInstance() , enemyMonsterData, enemySkillData, playerMonsterData ); //プレイヤーの戦闘処理 SkillResultSet( mgr , mgr.GetPlayerEffectParts() , mgr.GetEnemyEffectParts() , mgr.GetEnemyMonsterParts() , mgr.GetPlayerStatusInfoParts() , mgr.GetEnemyStatusInfoParts() , mgr.GetPlayerDreamPointInfoParts() , mgr.GetEnemyDreamPointInfoParts() , PlayerBattleData.GetInstance() , EnemyBattleData.GetInstance() , playerMonsterData, playerSkillData, enemyMonsterData ); } } else { //エネミーの戦闘処理 SkillResultSet( mgr , mgr.GetEnemyEffectParts() , mgr.GetPlayerEffectParts() , mgr.GetPlayerMonsterParts() , mgr.GetEnemyStatusInfoParts() , mgr.GetPlayerStatusInfoParts() , mgr.GetEnemyDreamPointInfoParts() , mgr.GetPlayerDreamPointInfoParts() , EnemyBattleData.GetInstance() , PlayerBattleData.GetInstance() , enemyMonsterData, enemySkillData, playerMonsterData ); //プレイヤーの戦闘処理 SkillResultSet( mgr , mgr.GetPlayerEffectParts() , mgr.GetEnemyEffectParts() , mgr.GetEnemyMonsterParts() , mgr.GetPlayerStatusInfoParts() , mgr.GetEnemyStatusInfoParts() , mgr.GetPlayerDreamPointInfoParts() , mgr.GetEnemyDreamPointInfoParts() , PlayerBattleData.GetInstance() , EnemyBattleData.GetInstance() , playerMonsterData, playerSkillData, enemyMonsterData ); } //白紙に AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), " "); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(); //ウェイト AllEventManager.GetInstance().EventWaitSet(0.5f); //イベントの最後 AllEventManager.GetInstance().EventFinishSet(); //交換判定の初期化 PlayerBattleData.GetInstance().changeMonsterActive_ = false; EnemyBattleData.GetInstance().changeMonsterActive_ = false; return(mgr.nowProcessState().NextProcess()); }
public IProcessState Update(BattleManager mgr) { AllEventManager eventMgr = AllEventManager.GetInstance(); AllSceneManager sceneMgr = AllSceneManager.GetInstance(); //敵の思考時間の処理 EnemyBattleData.GetInstance().ThinkingTimeCounter(); //やけどのダメージ処理 if (mgr.BurnsDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts())) { return(new CommandEventExecuteProcess()); } if (EnemyBattleData.GetInstance().GetThinkingEnd() == false) { //やけどのダメージ処理 if (mgr.BurnsDamageProcess(EnemyBattleData.GetInstance(), mgr.GetEnemyStatusInfoParts(), mgr.GetEnemyMonsterParts())) { return(new CommandEventExecuteProcess()); } if (EnemyBattleData.GetInstance().PoinsonCounter()) { //どくのダメージ処理 mgr.PoisonDamageProcess(EnemyBattleData.GetInstance(), mgr.GetEnemyStatusInfoParts(), mgr.GetEnemyMonsterParts()); if (mgr.PoisonDamageDown()) { return(new CommandEventExecuteProcess()); } } } if (AllEventManager.GetInstance().EventUpdate()) { sceneMgr.inputProvider_ = new KeyBoardNormalTriggerInputProvider(); } //カーソルが動いていたら int commandSelectNumber = mgr.GetMonsterTradeSelectCommandParts().CommandSelectForNumber(new Vector3(4.16f, 0, 0), new Vector3()); if (commandSelectNumber > -1) { //SE mgr.GetInputSoundProvider().UpSelect(); executeProvider_.state_ = (BattleSceneMonsterTradeSelectCommandExecuteState)mgr.GetMonsterTradeSelectCommandParts().SelectNumber() + 1; //どくのダメージ処理 mgr.PoisonDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts()); } else if (sceneMgr.inputProvider_.UpSelect()) { } else if (sceneMgr.inputProvider_.DownSelect()) { } else if (sceneMgr.inputProvider_.RightSelect()) { //選択肢が動かせたら if (mgr.GetMonsterTradeSelectCommandParts().CommandSelectRight(new Vector3(4.16f, 0, 0))) { //SE mgr.GetInputSoundProvider().RightSelect(); executeProvider_.state_ = (BattleSceneMonsterTradeSelectCommandExecuteState)mgr.GetMonsterTradeSelectCommandParts().SelectNumber() + 1; //どくのダメージ処理 mgr.PoisonDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts()); } } else if (sceneMgr.inputProvider_.LeftSelect()) { //選択肢が動かせたら if (mgr.GetMonsterTradeSelectCommandParts().CommandSelectLeft(new Vector3(-4.16f, 0, 0))) { //SE mgr.GetInputSoundProvider().LeftSelect(); executeProvider_.state_ = (BattleSceneMonsterTradeSelectCommandExecuteState)mgr.GetMonsterTradeSelectCommandParts().SelectNumber() + 1; //どくのダメージ処理 mgr.PoisonDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts()); } } else if (sceneMgr.inputProvider_.SelectEnter() || mgr.GetMonsterTradeSelectCommandParts().MouseLeftButtonTriggerActive()) { return(executeProvider_.Execute(mgr)); } else if (sceneMgr.inputProvider_.SelectBack() || sceneMgr.inputProvider_.SelectMouseRightTrigger()) { mgr.InactiveUiMonsterTradeSelectCommand(); mgr.ActiveUiStartCommand(); return(mgr.nowProcessState().BackProcess()); } //どくで倒れたら if (mgr.PoisonDamageDown()) { return(new CommandEventExecuteProcess()); } return(this); }
//倒れた時の処理 public override void MonsterDownEventSet(BattleManager manager) { battleActiveMonsterSize_ -= 1; //dreamPoint_ += 45; //戦闘のモンスターをダウンさせる monsterDatas_[0].battleActive_ = false; //ウェイト AllEventManager.GetInstance().EventWaitSet(1.0f); //モンスターの画像の非表示 AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetPlayerMonsterParts().GetEventGameObject()); AllEventManager.GetInstance().UpdateGameObjectsActiveSetExecute(false); //SE AllEventManager.GetInstance().SEAudioPlayOneShotEventSet(ResourcesSoundsLoader.GetInstance().GetSounds(SoundsPathSupervisor.GetInstance().GetPathMonsterDown())); //ウェイト AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime()); ////DPの演出のイベント //manager.StatusInfoPartsDPEffectEventSet(this, manager.GetPlayerStatusInfoParts()); // ////ウェイト //AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime()); //モンスターのステータスインフォの退場 AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetPlayerStatusInfoParts().GetEventGameObject(), new Vector3(-13.5f, manager.GetPlayerStatusInfoParts().transform.position.y, manager.GetPlayerStatusInfoParts().transform.position.z)); AllEventManager.GetInstance().UpdateGameObjectUpdateExecuteSet(UpdateGameObjectEventManagerExecute.PosMove); AllEventManager.GetInstance().AllUpdateEventExecute(0.2f); //文字列の処理 AllEventManager.GetInstance().EventTextSet(manager.GetNovelWindowParts().GetNovelWindowEventText(), monsterDatas_[0].uniqueName_ + "は たおれた!"); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(manager.GetEventContextUpdateTime()); //ウェイト AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime()); if (battleActiveMonsterSize_ == 0) { //DPゲージの登場 AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetPlayerDreamPointInfoParts().GetUpdateGameObject()); AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetEnemyDreamPointInfoParts().GetUpdateGameObject()); AllEventManager.GetInstance().UpdateGameObjectsActiveSetExecute(true); //BGMの再生 AllEventManager.GetInstance().BGMAudioClipChangeEventSet(ResourcesSoundsLoader.GetInstance().GetSounds(SoundsPathSupervisor.GetInstance().GetPathDreamers_Lose())); AllEventManager.GetInstance().BGMAudioPlayEventSet(); //文字列の処理 AllEventManager.GetInstance().EventTextSet( manager.GetNovelWindowParts().GetNovelWindowEventText() , EnemyTrainerData.GetInstance().GetJob() + "の " + EnemyTrainerData.GetInstance().GetName() + "\n" + "との しょうぶに まけた"); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(manager.GetEventContextUpdateTime()); //ウェイト AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime() * 2); //エネミーの入場 AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetEnemyParts().GetEventGameObject(), new Vector3(7.5f, manager.GetEnemyParts().transform.position.y, manager.GetEnemyParts().transform.position.z)); AllEventManager.GetInstance().UpdateGameObjectUpdateExecuteSet(UpdateGameObjectEventManagerExecute.PosMove); AllEventManager.GetInstance().AllUpdateEventExecute(0.8f); //ウェイト AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime() * 2); //フェードアウト AllEventManager.GetInstance().EventSpriteRendererSet( AllSceneManager.GetInstance().GetPublicFrontScreen().GetEventScreenSprite() , null , new Color(AllSceneManager.GetInstance().GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.r, AllSceneManager.GetInstance().GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.g, AllSceneManager.GetInstance().GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.b, 255) ); AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.ChangeColor); AllEventManager.GetInstance().AllUpdateEventExecute(2.0f); //シーンの切り替え AllEventManager.GetInstance().SceneChangeEventSet(SceneState.Map, SceneChangeMode.Continue); //負けの設定 PlayerTrainerData.GetInstance().battleEnd_ = true; PlayerTrainerData.GetInstance().battleResult_ = false; //データの初期化 PlayerBattleData.ReleaseInstance(); EnemyTrainerData.ReleaseInstance(); EnemyBattleData.ReleaseInstance(); return; } //シーンの切り替え MonsterMenuManager.SetProcessStateProvider(new MonsterMenuSceneBattleProcessStateProvider()); AllEventManager.GetInstance().SceneChangeEventSet(SceneState.MonsterMenu, SceneChangeMode.Slide); }
//交換処理 public override void MonsterChangeEventSet(BattleManager manager) { AllSceneManager allSceneMgr = AllSceneManager.GetInstance(); //モンスターの変更が行われていたら if (changeMonsterNumber_ > 0) { IMonsterData md = monsterDatas_[changeMonsterNumber_]; manager.playerSelectSkillNumber_ = changeMonsterSkillNumber_; //先頭のパラメーターをリセット monsterDatas_[0].battleData_.RankReset(); AllEventManager.GetInstance().EventStatusInfoPartsSet(manager.GetPlayerStatusInfoParts(), new Color32(0, 0, 0, 0)); AllEventManager.GetInstance().StatusInfoPartsUpdateExecuteSet(StatusInfoPartsEventManagerExecute.IdleMoveEnd); AllEventManager.GetInstance().AllUpdateEventExecute(); //先頭がダウンしていなかったら if (monsterDatas_[0].battleActive_ == true) { AllEventManager.GetInstance().EventTextSet(manager.GetNovelWindowParts().GetNovelWindowEventText(), monsterDatas_[0].uniqueName_ + "\n" + "もどれ!"); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(manager.GetEventContextUpdateTime()); AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime()); AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetPlayerMonsterParts().GetEventGameObject()); AllEventManager.GetInstance().UpdateGameObjectsActiveSetExecute(false); AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime()); AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetPlayerStatusInfoParts().GetEventGameObject(), new Vector3(-13.5f, manager.GetPlayerStatusInfoParts().transform.position.y, manager.GetPlayerStatusInfoParts().transform.position.z)); AllEventManager.GetInstance().UpdateGameObjectUpdateExecuteSet(UpdateGameObjectEventManagerExecute.PosMove); AllEventManager.GetInstance().AllUpdateEventExecute(0.2f); } AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime()); AllEventManager.GetInstance().EventTextSet(manager.GetNovelWindowParts().GetNovelWindowEventText(), "ゆけ! " + md.uniqueName_ + "!"); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(manager.GetEventContextUpdateTime()); AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime()); //SE AllEventManager.GetInstance().SEAudioPlayOneShotEventSet(ResourcesSoundsLoader.GetInstance().GetSounds(SoundsPathSupervisor.GetInstance().GetPathMonsterSet())); //モンスターの登場演出 { Sprite[] sprites = ResourcesGraphicsLoader.GetInstance().GetGraphicsAll("BattleScene/MonsterSetEffect"); List <Sprite> animeSprites = new List <Sprite>(); for (int i = 0; i < sprites.Length; ++i) { animeSprites.Add(sprites[i]); } AllEventManager.GetInstance().EventSpriteRendererSet(manager.GetPlayerEffectParts().GetEventSpriteRenderer(), animeSprites); AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.Anime); AllEventManager.GetInstance().AllUpdateEventExecute(0.35f); } //ウェイト AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime() / 2); //画像の設定 if (md.battleData_.HaveAbnormalType(AbnormalType.Hero)) { List <Sprite> sprites = new List <Sprite>(); sprites.Add(md.tribesData_.backDreamTex_); AllEventManager.GetInstance().EventSpriteRendererSet(manager.GetPlayerMonsterParts().GetEventMonsterSprite(), sprites, new Color32()); AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.SpriteSet); AllEventManager.GetInstance().AllUpdateEventExecute(); } else { List <Sprite> sprites = new List <Sprite>(); sprites.Add(md.tribesData_.backTex_); AllEventManager.GetInstance().EventSpriteRendererSet(manager.GetPlayerMonsterParts().GetEventMonsterSprite(), sprites, new Color32()); AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.SpriteSet); AllEventManager.GetInstance().AllUpdateEventExecute(); } //ステータスインフォへの反映 manager.GetPlayerStatusInfoParts().MonsterStatusInfoSetEventSet(md); //攻撃技の反映 manager.GetAttackCommandParts().MonsterDataReflect(md, EnemyBattleData.GetInstance().GetMonsterDatas(0)); //ねむりの終了処理 manager.SleepProcessEnd(); IMonsterData temp = monsterDatas_[0]; monsterDatas_[0] = monsterDatas_[changeMonsterNumber_]; monsterDatas_[changeMonsterNumber_] = temp; //ねむりの開始処理 manager.SleepProcessStart(); manager.SleepUseStart(this); AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetPlayerMonsterParts().GetEventGameObject()); AllEventManager.GetInstance().UpdateGameObjectsActiveSetExecute(true); AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime()); AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetPlayerStatusInfoParts().GetEventGameObject(), new Vector3(-6.12f, manager.GetPlayerStatusInfoParts().transform.position.y, manager.GetPlayerStatusInfoParts().transform.position.z)); AllEventManager.GetInstance().UpdateGameObjectUpdateExecuteSet(UpdateGameObjectEventManagerExecute.PosMove); AllEventManager.GetInstance().AllUpdateEventExecute(0.2f); } AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime()); manager.ActiveUiCommand(); manager.InactiveUiCommand(); allSceneMgr.inputProvider_ = new InactiveInputProvider(); changeMonsterNumber_ = 0; changeMonsterSkillNumber_ = 0; }
//倒れた時の処理 public override void MonsterDownEventSet(BattleManager manager) { battleActiveMonsterSize_ -= 1; //dreamPoint_ += 45; //戦闘のモンスターをダウンさせる monsterDatas_[0].battleActive_ = false; //ウェイト AllEventManager.GetInstance().EventWaitSet(1.0f); //エネミーの画像の非表示 AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetEnemyMonsterParts().GetEventGameObject()); AllEventManager.GetInstance().UpdateGameObjectsActiveSetExecute(false); //SE AllEventManager.GetInstance().SEAudioPlayOneShotEventSet(ResourcesSoundsLoader.GetInstance().GetSounds(SoundsPathSupervisor.GetInstance().GetPathMonsterDown())); //ウェイト AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime()); ////DPの演出のイベント //manager.StatusInfoPartsDPEffectEventSet(this, manager.GetEnemyStatusInfoParts()); // ////ウェイト //AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime()); //エネミーのステータスインフォの退場 AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetEnemyStatusInfoParts().GetEventGameObject(), new Vector3(-13.5f, manager.GetEnemyStatusInfoParts().transform.position.y, manager.GetEnemyStatusInfoParts().transform.position.z)); AllEventManager.GetInstance().UpdateGameObjectUpdateExecuteSet(UpdateGameObjectEventManagerExecute.PosMove); AllEventManager.GetInstance().AllUpdateEventExecute(0.2f); //文字列の処理 AllEventManager.GetInstance().EventTextSet(manager.GetNovelWindowParts().GetNovelWindowEventText(), "あいての " + monsterDatas_[0].uniqueName_ + "は たおれた!"); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(manager.GetEventContextUpdateTime()); //ウェイト AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime()); if (battleActiveMonsterSize_ == 0) { //DPゲージの登場 AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetPlayerDreamPointInfoParts().GetUpdateGameObject()); AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetEnemyDreamPointInfoParts().GetUpdateGameObject()); AllEventManager.GetInstance().UpdateGameObjectsActiveSetExecute(true); //BGMの再生 AllEventManager.GetInstance().BGMAudioClipChangeEventSet(ResourcesSoundsLoader.GetInstance().GetSounds(SoundsPathSupervisor.GetInstance().GetPathDreamers_Win())); AllEventManager.GetInstance().BGMAudioPlayEventSet(); //文字列の処理 AllEventManager.GetInstance().EventTextSet( manager.GetNovelWindowParts().GetNovelWindowEventText() , EnemyTrainerData.GetInstance().GetJob() + "の " + EnemyTrainerData.GetInstance().GetName() + "\n" + "との しょうぶに かった!"); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(manager.GetEventContextUpdateTime()); //ウェイト AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime() * 2); //エネミーの入場 AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetEnemyParts().GetEventGameObject(), new Vector3(3.5f, manager.GetEnemyParts().transform.position.y, manager.GetEnemyParts().transform.position.z)); AllEventManager.GetInstance().UpdateGameObjectUpdateExecuteSet(UpdateGameObjectEventManagerExecute.PosMove); AllEventManager.GetInstance().AllUpdateEventExecute(1.5f); //ウェイト AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime() * 2); //フェードアウト AllEventManager.GetInstance().EventSpriteRendererSet( AllSceneManager.GetInstance().GetPublicFrontScreen().GetEventScreenSprite() , null , new Color(AllSceneManager.GetInstance().GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.r, AllSceneManager.GetInstance().GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.g, AllSceneManager.GetInstance().GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.b, 255) ); AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.ChangeColor); AllEventManager.GetInstance().AllUpdateEventExecute(2.0f); //シーンの切り替え AllEventManager.GetInstance().SceneChangeEventSet(SceneState.Map, SceneChangeMode.Continue); //勝ちの設定 PlayerTrainerData.GetInstance().battleEnd_ = true; PlayerTrainerData.GetInstance().battleResult_ = true; //データの初期化 PlayerBattleData.ReleaseInstance(); EnemyTrainerData.ReleaseInstance(); EnemyBattleData.ReleaseInstance(); return; } //タイプ相性の測定 int[] typeSimillarResult = new int[3] { 0, 0, 0 }; int[] monsterNumbers = new int[3] { 0, 1, 2 }; for (int i = 0; i < monsterDatas_.Length; ++i) { //戦えたら if (monsterDatas_[i].battleActive_ && monsterDatas_[i].tribesData_.monsterNumber_ != 0) { { int simillarResult = PlayerBattleData.GetInstance().GetMonsterDatas(0).ElementSimillarCheckerForValue(monsterDatas_[i].tribesData_.firstElement_); typeSimillarResult[i] += simillarResult; } { int simillarResult = PlayerBattleData.GetInstance().GetMonsterDatas(0).ElementSimillarCheckerForValue(monsterDatas_[i].tribesData_.secondElement_); typeSimillarResult[i] += simillarResult; } } } t13.Utility.SimpleHiSort2Index(typeSimillarResult, monsterNumbers); //モンスターデータの入れ替え IMonsterData temp = monsterDatas_[0]; monsterDatas_[0] = monsterDatas_[monsterNumbers[0]]; monsterDatas_[monsterNumbers[0]] = temp; //ウェイト AllEventManager.GetInstance().EventWaitSet(1.0f); //文字列の処理 AllEventManager.GetInstance().EventTextSet( manager.GetNovelWindowParts().GetNovelWindowEventText(), EnemyTrainerData.GetInstance().GetName() + "は\n" + monsterDatas_[0].uniqueName_ + "を くりだした!" ); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(manager.GetEventContextUpdateTime()); //SE AllEventManager.GetInstance().SEAudioPlayOneShotEventSet(ResourcesSoundsLoader.GetInstance().GetSounds(SoundsPathSupervisor.GetInstance().GetPathMonsterSet())); //モンスターの登場演出 { Sprite[] sprites = ResourcesGraphicsLoader.GetInstance().GetGraphicsAll("BattleScene/MonsterSetEffect"); List <Sprite> animeSprites = new List <Sprite>(); for (int i = 0; i < sprites.Length; ++i) { animeSprites.Add(sprites[i]); } AllEventManager.GetInstance().EventSpriteRendererSet(manager.GetEnemyEffectParts().GetEventSpriteRenderer(), animeSprites); AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.Anime); AllEventManager.GetInstance().AllUpdateEventExecute(0.35f); } //ウェイト AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime() / 2); //画像の設定 if (monsterDatas_[0].battleData_.HaveAbnormalType(AbnormalType.Hero)) { List <Sprite> sprites = new List <Sprite>(); sprites.Add(monsterDatas_[0].tribesData_.frontDreamTex_); AllEventManager.GetInstance().EventSpriteRendererSet(manager.GetEnemyMonsterParts().GetEventMonsterSprite(), sprites, new Color32()); AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.SpriteSet); AllEventManager.GetInstance().AllUpdateEventExecute(); } else { List <Sprite> sprites = new List <Sprite>(); sprites.Add(monsterDatas_[0].tribesData_.frontTex_); AllEventManager.GetInstance().EventSpriteRendererSet(manager.GetEnemyMonsterParts().GetEventMonsterSprite(), sprites, new Color32()); AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.SpriteSet); AllEventManager.GetInstance().AllUpdateEventExecute(); } //ステータスインフォへの反映 manager.GetEnemyStatusInfoParts().MonsterStatusInfoSetEventSet(monsterDatas_[0]); //ウェイト AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime()); //エネミーの表示 AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetEnemyMonsterParts().GetEventGameObject()); AllEventManager.GetInstance().UpdateGameObjectsActiveSetExecute(true); //ウェイト AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime()); //エネミーのステータスインフォの入場 AllEventManager.GetInstance().UpdateGameObjectSet(manager.GetEnemyStatusInfoParts().GetEventGameObject(), new Vector3(-3.5f, manager.GetEnemyStatusInfoParts().transform.position.y, manager.GetEnemyStatusInfoParts().transform.position.z)); AllEventManager.GetInstance().UpdateGameObjectUpdateExecuteSet(UpdateGameObjectEventManagerExecute.PosMove); AllEventManager.GetInstance().AllUpdateEventExecute(0.2f); //ウェイト AllEventManager.GetInstance().EventWaitSet(manager.GetEventWaitTime()); manager.ActiveUiCommand(); manager.InactiveUiCommand(); }
static public void ReleaseInstance() { instance_ = null; }
public IProcessState Update(BattleManager mgr) { AllEventManager eventMgr = AllEventManager.GetInstance(); AllSceneManager sceneMgr = AllSceneManager.GetInstance(); //交換されていたら if (PlayerBattleData.GetInstance().changeMonsterActive_) { //フェードイン eventMgr.EventSpriteRendererSet( sceneMgr.GetPublicFrontScreen().GetEventScreenSprite() , null , new Color(sceneMgr.GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.r, sceneMgr.GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.g, sceneMgr.GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.b, 0) ); eventMgr.EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.ChangeColor); eventMgr.AllUpdateEventExecute(0.4f); //交換イベント PlayerBattleData.GetInstance().MonsterChangeEventSet(mgr); //イベントの最後 eventMgr.EventFinishSet(); PlayerBattleData.GetInstance().changeMonsterActive_ = false; } if (AllEventManager.GetInstance().EventUpdate() && PlayerBattleData.GetInstance().GetMonsterDatas(0).battleActive_) { //ウィンドウの非表示 mgr.GetNovelWindowParts().gameObject.SetActive(false); mgr.GetPlayerStatusInfoParts().ProcessIdleStart(); mgr.GetPlayerMonsterParts().ProcessIdleStart(); mgr.ActiveUiStartCommand(); sceneMgr.inputProvider_ = new KeyBoardNormalTriggerInputProvider(); //攻撃技の反映 mgr.GetAttackCommandParts().MonsterDataReflect(PlayerBattleData.GetInstance().GetMonsterDatas(0), EnemyBattleData.GetInstance().GetMonsterDatas(0)); return(mgr.nowProcessState().NextProcess()); } return(this); }
float timeExit = 2f; // time to exit the phase public EndBattle(BattleManager _bm, Stats _plStats, EnemyBattleData _npcData, PlayerHand _plrHnd, NPCHand _npcHnd) : base(_bm, _plStats, _npcData, _plrHnd, _npcHnd) { name = Phases.BattleEnd; }
public NewRound(BattleManager _bm, Stats _plStats, EnemyBattleData _npcData, PlayerHand _plrHnd, NPCHand _npcHnd) : base(_bm, _plStats, _npcData, _plrHnd, _npcHnd) { name = Phases.NewRound; infoCard = System.Array.Find(battleManager.infoCardsPrefabs, c => c.cardType == InfoType.NewRound); }
public IProcessState Update(BattleManager mgr) { AllEventManager eventMgr = AllEventManager.GetInstance(); AllSceneManager sceneMgr = AllSceneManager.GetInstance(); //敵の思考時間の処理 EnemyBattleData.GetInstance().ThinkingTimeCounter(); //モンスターが交換されていたら if (PlayerBattleData.GetInstance().changeMonsterActive_) { executeProvider_.state_ = BattleSceneStartCommandExecuteState.Attack; mgr.ActiveUiStartCommand(); mgr.InactiveUiStartCommand(); //フェードイン eventMgr.EventSpriteRendererSet( sceneMgr.GetPublicFrontScreen().GetEventScreenSprite() , null , new Color(sceneMgr.GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.r, sceneMgr.GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.g, sceneMgr.GetPublicFrontScreen().GetEventScreenSprite().GetSpriteRenderer().color.b, 0) ); eventMgr.EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.ChangeColor); eventMgr.AllUpdateEventExecute(0.4f); eventMgr.UpdateGameObjectSet(mgr.GetStartCommandParts().GetEventGameObject()); eventMgr.UpdateGameObjectsActiveSetExecute(true); //dpが100以上だったら //if (PlayerBattleData.GetInstance().GetDreamPoint() >= 100) { // eventMgr.EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText() // , "ゆめたちが \n" // + "きょうめいしている・・・"); // eventMgr.EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); // eventMgr.AllUpdateEventExecute(); //} //else { // eventMgr.EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), PlayerBattleData.GetInstance().GetMonsterDatas(0).uniqueName_ + "は どうする?"); // eventMgr.EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); // eventMgr.AllUpdateEventExecute(); //} eventMgr.EventStatusInfoPartsSet(mgr.GetPlayerStatusInfoParts(), new Color32(0, 0, 0, 0)); eventMgr.StatusInfoPartsUpdateExecuteSet(StatusInfoPartsEventManagerExecute.IdleMoveStart); eventMgr.AllUpdateEventExecute(); //イベントの最後 eventMgr.EventFinishSet(); PlayerBattleData.GetInstance().changeMonsterActive_ = false; } //やけどのダメージ処理 if (mgr.BurnsDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts())) { return(new CommandEventExecuteProcess()); } if (EnemyBattleData.GetInstance().GetThinkingEnd() == false) { //やけどのダメージ処理 if (mgr.BurnsDamageProcess(EnemyBattleData.GetInstance(), mgr.GetEnemyStatusInfoParts(), mgr.GetEnemyMonsterParts())) { return(new CommandEventExecuteProcess()); } if (EnemyBattleData.GetInstance().PoinsonCounter()) { //どくのダメージ処理 mgr.PoisonDamageProcess(EnemyBattleData.GetInstance(), mgr.GetEnemyStatusInfoParts(), mgr.GetEnemyMonsterParts()); if (mgr.PoisonDamageDown()) { return(new CommandEventExecuteProcess()); } } } if (AllEventManager.GetInstance().EventUpdate()) { sceneMgr.inputProvider_ = new KeyBoardNormalTriggerInputProvider(); } //カーソルが動いていたら int commandSelectNumber = mgr.GetStartCommandParts().CommandSelectForNumber(new Vector3(), new Vector3(0, 1.32f, 0)); if (commandSelectNumber > -1) { //SE mgr.GetInputSoundProvider().UpSelect(); executeProvider_.state_ = (BattleSceneStartCommandExecuteState)mgr.GetStartCommandParts().SelectNumber() + 1; //どくのダメージ処理 mgr.PoisonDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts()); } else if (sceneMgr.inputProvider_.UpSelect()) { //選択肢が動かせたら if (mgr.GetStartCommandParts().CommandSelectUp(new Vector3(0, 1.33f, 0))) { //SE mgr.GetInputSoundProvider().UpSelect(); executeProvider_.state_ = (BattleSceneStartCommandExecuteState)mgr.GetStartCommandParts().SelectNumber() + 1; //どくのダメージ処理 mgr.PoisonDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts()); } } else if (sceneMgr.inputProvider_.DownSelect()) { //選択肢が動かせたら if (mgr.GetStartCommandParts().CommandSelectDown(new Vector3(0, -1.33f, 0))) { //SE mgr.GetInputSoundProvider().DownSelect(); executeProvider_.state_ = (BattleSceneStartCommandExecuteState)mgr.GetStartCommandParts().SelectNumber() + 1; //どくのダメージ処理 mgr.PoisonDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts()); } } else if (sceneMgr.inputProvider_.RightSelect()) { } else if (sceneMgr.inputProvider_.LeftSelect()) { } else if (sceneMgr.inputProvider_.SelectEnter() || mgr.GetStartCommandParts().MouseLeftButtonTriggerActive()) { return(executeProvider_.Execute(mgr)); } //どくで倒れたら if (mgr.PoisonDamageDown()) { return(new CommandEventExecuteProcess()); } return(this); }
public IProcessState Update(BattleManager mgr) { AllSceneManager allSceneMgr = AllSceneManager.GetInstance(); //敵の思考時間の処理 EnemyBattleData.GetInstance().ThinkingTimeCounter(); //モンスターが交換されていたら if (PlayerBattleData.GetInstance().changeMonsterActive_ == true) { if (PlayerBattleData.GetInstance().changeMonsterNumber_ > 0) { //アイドル状態の停止 mgr.GetPlayerStatusInfoParts().ProcessIdleEnd(); mgr.GetPlayerMonsterParts().ProcessIdleEnd(); //ウィンドウの表示 mgr.GetNovelWindowParts().gameObject.SetActive(true); //イベントの最後 AllEventManager.GetInstance().EventFinishSet(); return(new EnemyCommandSelectProcess()); } else { allSceneMgr.inputProvider_ = new InactiveInputProvider(); AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); AllEventManager.GetInstance().UpdateGameObjectSet(mgr.GetCommandCommandParts().GetEventGameObject()); AllEventManager.GetInstance().UpdateGameObjectsActiveSetExecute(true); //dpが100以上だったら //if (PlayerBattleData.GetInstance().GetDreamPoint() >= 100) { // AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText() // , "ゆめたちが \n" // + "きょうめいしている・・・"); // AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); // AllEventManager.GetInstance().AllUpdateEventExecute(); //} //else { // AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), PlayerBattleData.GetInstance().GetMonsterDatas(0).uniqueName_ + "は どうする?"); // AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); // AllEventManager.GetInstance().AllUpdateEventExecute(); //} AllEventManager.GetInstance().EventStatusInfoPartsSet(mgr.GetPlayerStatusInfoParts(), new Color32(0, 0, 0, 0)); AllEventManager.GetInstance().StatusInfoPartsUpdateExecuteSet(StatusInfoPartsEventManagerExecute.IdleMoveStart); AllEventManager.GetInstance().AllUpdateEventExecute(); AllEventManager.GetInstance().EventFinishSet(); PlayerBattleData.GetInstance().changeMonsterActive_ = false; } } //やけどのダメージ処理 if (mgr.BurnsDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts())) { return(new CommandEventExecuteProcess()); } if (EnemyBattleData.GetInstance().GetThinkingEnd() == false) { //やけどのダメージ処理 if (mgr.BurnsDamageProcess(EnemyBattleData.GetInstance(), mgr.GetEnemyStatusInfoParts(), mgr.GetEnemyMonsterParts())) { return(new CommandEventExecuteProcess()); } if (EnemyBattleData.GetInstance().PoinsonCounter()) { //どくのダメージ処理 mgr.PoisonDamageProcess(EnemyBattleData.GetInstance(), mgr.GetEnemyStatusInfoParts(), mgr.GetEnemyMonsterParts()); if (mgr.PoisonDamageDown()) { return(new CommandEventExecuteProcess()); } } } //こんらんの処理 mgr.ConfusionProcess(); if (AllEventManager.GetInstance().EventUpdate()) { allSceneMgr.inputProvider_ = new KeyBoardNormalTriggerInputProvider(); } //カーソルが動いていたら int commandSelectNumber = mgr.GetAttackCommandParts().GetCommandParts().CommandSelectForNumber(new Vector3(3.56f, 0, 0), new Vector3(0, 1.42f, 0)); if (commandSelectNumber > -1) { //SE mgr.GetInputSoundProvider().UpSelect(); mgr.AttackCommandSkillInfoTextSet(mgr.GetAttackCommandParts().GetCommandParts().SelectNumber()); //どくのダメージ処理 mgr.PoisonDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts()); } else if (allSceneMgr.inputProvider_.UpSelect()) { //選択肢が動かせたら if (mgr.GetAttackCommandParts().GetCommandParts().CommandSelectUp(new Vector3(0, 1.42f, 0))) { //SE mgr.GetInputSoundProvider().UpSelect(); mgr.AttackCommandSkillInfoTextSet(mgr.GetAttackCommandParts().GetCommandParts().SelectNumber()); //どくのダメージ処理 mgr.PoisonDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts()); } } else if (allSceneMgr.inputProvider_.DownSelect()) { //選択肢が動かせたら if (mgr.GetAttackCommandParts().GetCommandParts().CommandSelectDown(new Vector3(0, -1.42f, 0))) { //SE mgr.GetInputSoundProvider().DownSelect(); mgr.AttackCommandSkillInfoTextSet(mgr.GetAttackCommandParts().GetCommandParts().SelectNumber()); //どくのダメージ処理 mgr.PoisonDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts()); } } else if (allSceneMgr.inputProvider_.RightSelect()) { //選択肢が動かせたら if (mgr.GetAttackCommandParts().GetCommandParts().CommandSelectRight(new Vector3(3.56f, 0, 0))) { //SE mgr.GetInputSoundProvider().RightSelect(); mgr.AttackCommandSkillInfoTextSet(mgr.GetAttackCommandParts().GetCommandParts().SelectNumber()); //どくのダメージ処理 mgr.PoisonDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts()); } } else if (allSceneMgr.inputProvider_.LeftSelect()) { //選択肢が動かせたら if (mgr.GetAttackCommandParts().GetCommandParts().CommandSelectLeft(new Vector3(-3.56f, 0, 0))) { //SE mgr.GetInputSoundProvider().LeftSelect(); mgr.AttackCommandSkillInfoTextSet(mgr.GetAttackCommandParts().GetCommandParts().SelectNumber()); //どくのダメージ処理 mgr.PoisonDamageProcess(PlayerBattleData.GetInstance(), mgr.GetPlayerStatusInfoParts(), mgr.GetPlayerMonsterParts()); } } else if (allSceneMgr.inputProvider_.SelectEnter() || mgr.GetAttackCommandParts().GetCommandParts().MouseLeftButtonTriggerActive()) { mgr.playerSelectSkillNumber_ = mgr.GetAttackCommandParts().GetCommandParts().SelectNumber(); ISkillData playerSkillData = PlayerBattleData.GetInstance().GetMonsterDatas(0).GetSkillDatas(mgr.playerSelectSkillNumber_); //スキルがNoneでなかったら if ( //playerSkillData.nowPlayPoint_ > 0 playerSkillData.skillNumber_ != (int)SkillDataNumber.None) { //SE mgr.GetInputSoundProvider().SelectEnter(); mgr.GetPlayerStatusInfoParts().ProcessIdleEnd(); mgr.GetPlayerMonsterParts().ProcessIdleEnd(); allSceneMgr.inputProvider_ = new InactiveInputProvider(); //コマンドUIの非表示 mgr.InactiveUiAttackCommand(); //ウィンドウの表示 mgr.GetNovelWindowParts().gameObject.SetActive(true); //ppの消費 //playerSkillData.nowPlayPoint_ -= 1; //イベントの最後 AllEventManager.GetInstance().EventFinishSet(); return(mgr.nowProcessState().NextProcess()); } } else if (allSceneMgr.inputProvider_.SelectBack() || allSceneMgr.inputProvider_.SelectMouseRightTrigger()) { //こんらん状態なら if (PlayerBattleData.GetInstance().GetMonsterDatas(0).battleData_.firstAbnormalState_.state_ == AbnormalType.Confusion || PlayerBattleData.GetInstance().GetMonsterDatas(0).battleData_.secondAbnormalState_.state_ == AbnormalType.Confusion) { allSceneMgr.inputProvider_ = new KeyBoardNormalTriggerInputProvider(); } mgr.InactiveUiAttackCommand(); mgr.ActiveUiCommand(); return(mgr.nowProcessState().BackProcess()); } else if (allSceneMgr.inputProvider_.SelectNovelWindowActive()) { } //どくで倒れたら if (mgr.PoisonDamageDown()) { return(new CommandEventExecuteProcess()); } return(this); }