public void UpRollStatusInfoParts() { //2,3番目を1.5fずらす for (int i = 2; i < eventStatusInfosParts_.Count - 1; ++i) { eventStatusInfosParts_[i].GetEventGameObject().ProcessStatePosMoveExecute( UPDATE_TIME_REGULATION , t13.TimeFluctProcess.Liner , new Vector3(eventStatusInfosParts_[i].transform.localPosition.x, eventStatusInfosParts_[i].transform.localPosition.y + 1.5f, eventStatusInfosParts_[i].transform.localPosition.z) ); eventStatusInfosParts_[i].ProcessStateColorUpdateExecute(UPDATE_TIME_REGULATION, t13.TimeFluctProcess.Liner, new Color32(0, 0, 0, (byte)(255 / (((i + 1) % 2) + 1)))); } //4番目を映す eventStatusInfosParts_[4].ProcessStateColorUpdateExecute(UPDATE_TIME_REGULATION, t13.TimeFluctProcess.Liner, new Color32(0, 0, 0, 125)); //1番目を消す eventStatusInfosParts_[1].ProcessStateAllColorUpdateExecute(UPDATE_TIME_REGULATION, t13.TimeFluctProcess.Liner, new Color32(0, 0, 0, 0)); //0番目を下に移す eventStatusInfosParts_[0].GetEventGameObject().ProcessStatePosMoveExecute( 0 , t13.TimeFluctProcess.Liner , new Vector3(eventStatusInfosParts_[0].GetEventGameObject().transform.localPosition.x, 0.5f, eventStatusInfosParts_[0].GetEventGameObject().transform.localPosition.z) ); StatusInfoParts beginData = eventStatusInfosParts_[0]; for (int i = 0; i < eventStatusInfosParts_.Count - 1; ++i) { eventStatusInfosParts_[i] = eventStatusInfosParts_[i + 1]; } eventStatusInfosParts_[eventStatusInfosParts_.Count - 1] = beginData; }
public void AbnormalSetStatusInfoParts(StatusInfoParts statusInfoParts) { //状態異常の1つ目の表示処理 if (firstAbnormalState_.state_ != AbnormalType.None) { //文字の変更 statusInfoParts.GetFirstAbnormalStateInfoParts().GetInfoEventText().GetText().text = firstAbnormalState_.GetName(); //表示 //文字の色の変更 statusInfoParts.GetFirstAbnormalStateInfoParts().GetInfoEventText().GetText().color = new Color(1, 1, 1, 1); //色の変更 statusInfoParts.GetFirstAbnormalStateInfoParts().GetBaseEventSprite().GetSpriteRenderer().color = firstAbnormalState_.GetColor(); } else { //非表示 //文字の色の変更 statusInfoParts.GetFirstAbnormalStateInfoParts().GetInfoEventText().GetText().color = new Color(1, 1, 1, 0); //色の変更 statusInfoParts.GetFirstAbnormalStateInfoParts().GetBaseEventSprite().GetSpriteRenderer().color = new Color(statusInfoParts.GetFirstAbnormalStateInfoParts().GetBaseEventSprite().GetSpriteRenderer().color.r, statusInfoParts.GetFirstAbnormalStateInfoParts().GetBaseEventSprite().GetSpriteRenderer().color.g, statusInfoParts.GetFirstAbnormalStateInfoParts().GetBaseEventSprite().GetSpriteRenderer().color.b, 0); } //状態異常の2つ目の表示処理 if (secondAbnormalState_.state_ != AbnormalType.None) { //文字の変更 statusInfoParts.GetSecondAbnormalStateInfoParts().GetInfoEventText().GetText().text = secondAbnormalState_.GetName(); //表示 //文字の色の変更 statusInfoParts.GetSecondAbnormalStateInfoParts().GetInfoEventText().GetText().color = new Color(1, 1, 1, 1); //色の変更 statusInfoParts.GetSecondAbnormalStateInfoParts().GetBaseEventSprite().GetSpriteRenderer().color = secondAbnormalState_.GetColor(); } else { //非表示 //文字の色の変更 statusInfoParts.GetSecondAbnormalStateInfoParts().GetInfoEventText().GetText().color = new Color(1, 1, 1, 0); //色の変更 statusInfoParts.GetSecondAbnormalStateInfoParts().GetBaseEventSprite().GetSpriteRenderer().color = new Color(statusInfoParts.GetSecondAbnormalStateInfoParts().GetBaseEventSprite().GetSpriteRenderer().color.r, statusInfoParts.GetSecondAbnormalStateInfoParts().GetBaseEventSprite().GetSpriteRenderer().color.g, statusInfoParts.GetSecondAbnormalStateInfoParts().GetBaseEventSprite().GetSpriteRenderer().color.b, 0); } }
public void DownRollStatusInfoParts() { //1,2番目を-1.5fずらす for (int i = 1; i < eventStatusInfosParts_.Count - 2; ++i) { eventStatusInfosParts_[i].GetEventGameObject().ProcessStatePosMoveExecute( UPDATE_TIME_REGULATION , t13.TimeFluctProcess.Liner , new Vector3(eventStatusInfosParts_[i].transform.localPosition.x, eventStatusInfosParts_[i].transform.localPosition.y - 1.5f, eventStatusInfosParts_[i].transform.localPosition.z) ); eventStatusInfosParts_[i].ProcessStateColorUpdateExecute(UPDATE_TIME_REGULATION, t13.TimeFluctProcess.Liner, new Color32(0, 0, 0, (byte)(255 / i))); } //0番目を映す eventStatusInfosParts_[0].ProcessStateColorUpdateExecute(UPDATE_TIME_REGULATION, t13.TimeFluctProcess.Liner, new Color32(0, 0, 0, 125)); //3番目を消す eventStatusInfosParts_[3].ProcessStateAllColorUpdateExecute(UPDATE_TIME_REGULATION, t13.TimeFluctProcess.Liner, new Color32(0, 0, 0, 0)); //4番目を上に移す eventStatusInfosParts_[4].GetEventGameObject().ProcessStatePosMoveExecute( 0 , t13.TimeFluctProcess.Liner , new Vector3(eventStatusInfosParts_[4].GetEventGameObject().transform.localPosition.x, 3.5f, eventStatusInfosParts_[4].GetEventGameObject().transform.localPosition.z) ); StatusInfoParts temp = null; StatusInfoParts temp2 = null; temp = eventStatusInfosParts_[1]; eventStatusInfosParts_[1] = eventStatusInfosParts_[0]; temp2 = eventStatusInfosParts_[2]; eventStatusInfosParts_[2] = temp; temp = eventStatusInfosParts_[3]; eventStatusInfosParts_[3] = temp2; temp2 = eventStatusInfosParts_[4]; eventStatusInfosParts_[4] = temp; eventStatusInfosParts_[0] = temp2; }
public override bool EffectValueEventSet(BattleManager mgr, BTrainerBattleData attackTrainerBattleData, BTrainerBattleData defenseTrainerBattleData, EffectParts attackEffectParts, EffectParts defenseEffectParts, MonsterParts defenseMonsterParts, StatusInfoParts attackStatusInfoParts, StatusInfoParts defenseStatusInfoParts, DreamPointInfoParts attackDreamPointInfoParts, DreamPointInfoParts defenseDreamPointInfoParts, IMonsterData attackMonsterData, ISkillData attackSkillData, IMonsterData defenseMonsterData) { return(base.EffectValueEventSet(mgr, attackTrainerBattleData, defenseTrainerBattleData, attackEffectParts, defenseEffectParts, defenseMonsterParts, attackStatusInfoParts, defenseStatusInfoParts, attackDreamPointInfoParts, defenseDreamPointInfoParts, attackMonsterData, attackSkillData, defenseMonsterData)); }
public void AbnormalSetStatusInfoPartsEventSet(StatusInfoParts statusInfoParts) { //状態異常の1つ目の表示処理 if (firstAbnormalState_.state_ != AbnormalType.None) { //文字の変更 AllEventManager.GetInstance().EventTextSet( statusInfoParts.GetFirstAbnormalStateInfoParts().GetInfoEventText() , firstAbnormalState_.GetName() ); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(); //表示 //文字の色の変更 AllEventManager.GetInstance().EventTextSet( statusInfoParts.GetFirstAbnormalStateInfoParts().GetInfoEventText() , "" , new Color(1, 1, 1, 1) ); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.ChangeColor); //色の変更 AllEventManager.GetInstance().EventSpriteRendererSet( statusInfoParts.GetFirstAbnormalStateInfoParts().GetBaseEventSprite() , null , firstAbnormalState_.GetColor() ); AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.ChangeColor); AllEventManager.GetInstance().AllUpdateEventExecute(); } else { //非表示 //文字の色の変更 AllEventManager.GetInstance().EventTextSet( statusInfoParts.GetFirstAbnormalStateInfoParts().GetInfoEventText() , "" , new Color(1, 1, 1, 0) ); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.ChangeColor); //色の変更 AllEventManager.GetInstance().EventSpriteRendererSet( statusInfoParts.GetFirstAbnormalStateInfoParts().GetBaseEventSprite() , null , new Color(statusInfoParts.GetFirstAbnormalStateInfoParts().GetBaseEventSprite().GetSpriteRenderer().color.r, statusInfoParts.GetFirstAbnormalStateInfoParts().GetBaseEventSprite().GetSpriteRenderer().color.g, statusInfoParts.GetFirstAbnormalStateInfoParts().GetBaseEventSprite().GetSpriteRenderer().color.b, 0) ); AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.ChangeColor); AllEventManager.GetInstance().AllUpdateEventExecute(); } //状態異常の2つ目の表示処理 if (secondAbnormalState_.state_ != AbnormalType.None) { //文字の変更 AllEventManager.GetInstance().EventTextSet( statusInfoParts.GetSecondAbnormalStateInfoParts().GetInfoEventText() , secondAbnormalState_.GetName() ); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(); //表示 //文字の色の変更 AllEventManager.GetInstance().EventTextSet( statusInfoParts.GetSecondAbnormalStateInfoParts().GetInfoEventText() , "" , new Color(1, 1, 1, 1) ); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.ChangeColor); //色の変更 AllEventManager.GetInstance().EventSpriteRendererSet( statusInfoParts.GetSecondAbnormalStateInfoParts().GetBaseEventSprite() , null , secondAbnormalState_.GetColor() ); AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.ChangeColor); AllEventManager.GetInstance().AllUpdateEventExecute(); } else { //非表示 //文字の色の変更 AllEventManager.GetInstance().EventTextSet( statusInfoParts.GetSecondAbnormalStateInfoParts().GetInfoEventText() , "" , new Color(1, 1, 1, 0) ); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.ChangeColor); //色の変更 AllEventManager.GetInstance().EventSpriteRendererSet( statusInfoParts.GetSecondAbnormalStateInfoParts().GetBaseEventSprite() , null , new Color(statusInfoParts.GetSecondAbnormalStateInfoParts().GetBaseEventSprite().GetSpriteRenderer().color.r, statusInfoParts.GetSecondAbnormalStateInfoParts().GetBaseEventSprite().GetSpriteRenderer().color.g, statusInfoParts.GetSecondAbnormalStateInfoParts().GetBaseEventSprite().GetSpriteRenderer().color.b, 0) ); AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.ChangeColor); AllEventManager.GetInstance().AllUpdateEventExecute(); } }
//ColorUpdate static private StatusInfoPartsProcess ColorUpdateUpdate(StatusInfoPartsProcessState mine, StatusInfoParts statusInfoParts) { if (statusInfoParts.GetTimeCounter().measure(Time.deltaTime, statusInfoParts.GetTimeRegulation())) { BaseParts baseParts = statusInfoParts.GetBaseParts(); FrameParts frameParts = statusInfoParts.GetFrameParts(); baseParts.GetBaseSprite().color = t13.UnityUtil.Color32InFluctUpdateAlpha( t13.UnityUtil.ColorForColor32(baseParts.GetBaseSprite().color) , statusInfoParts.GetTimeFlucts(0) , 255 , statusInfoParts.GetTimeRegulation() , statusInfoParts.GetTimeRegulation() ); baseParts.GetHpLogoText().color = t13.UnityUtil.Color32InFluctUpdateAlpha( t13.UnityUtil.ColorForColor32(baseParts.GetHpLogoText().color) , statusInfoParts.GetTimeFlucts(1) , statusInfoParts.GetEndColor().a , statusInfoParts.GetTimeRegulation() , statusInfoParts.GetTimeRegulation() ); baseParts.GetInfoNameEventText().GetText().color = t13.UnityUtil.Color32InFluctUpdateAlpha( t13.UnityUtil.ColorForColor32(baseParts.GetInfoNameEventText().GetText().color) , statusInfoParts.GetTimeFlucts(2) , statusInfoParts.GetEndColor().a , statusInfoParts.GetTimeRegulation() , statusInfoParts.GetTimeRegulation() ); frameParts.GetFrameSprite().color = t13.UnityUtil.Color32InFluctUpdateAlpha( t13.UnityUtil.ColorForColor32(frameParts.GetFrameSprite().color) , statusInfoParts.GetTimeFlucts(4) , statusInfoParts.GetEndColor().a , statusInfoParts.GetTimeRegulation() , statusInfoParts.GetTimeRegulation() ); if (frameParts.GetHpGaugeParts().GetInfoText() != null) { frameParts.GetHpGaugeParts().GetInfoText().color = t13.UnityUtil.Color32InFluctUpdateAlpha( t13.UnityUtil.ColorForColor32(frameParts.GetHpGaugeParts().GetInfoText().color) , statusInfoParts.GetTimeFlucts(5) , statusInfoParts.GetEndColor().a , statusInfoParts.GetTimeRegulation() , statusInfoParts.GetTimeRegulation() ); } frameParts.GetHpGaugeParts().GetGauge().color = t13.UnityUtil.Color32InFluctUpdateAlpha( t13.UnityUtil.ColorForColor32(frameParts.GetHpGaugeParts().GetGauge().color) , statusInfoParts.GetTimeFlucts(6) , statusInfoParts.GetEndColor().a , statusInfoParts.GetTimeRegulation() , statusInfoParts.GetTimeRegulation() ); return(StatusInfoPartsProcess.None); } else { BaseParts baseParts = statusInfoParts.GetBaseParts(); FrameParts frameParts = statusInfoParts.GetFrameParts(); baseParts.GetBaseSprite().color = t13.UnityUtil.Color32InFluctUpdateAlpha( t13.UnityUtil.ColorForColor32(baseParts.GetBaseSprite().color) , statusInfoParts.GetTimeFlucts(0) , 255 , statusInfoParts.GetTimeCounter().count() , statusInfoParts.GetTimeRegulation() ); baseParts.GetHpLogoText().color = t13.UnityUtil.Color32InFluctUpdateAlpha( t13.UnityUtil.ColorForColor32(baseParts.GetHpLogoText().color) , statusInfoParts.GetTimeFlucts(1) , statusInfoParts.GetEndColor().a , statusInfoParts.GetTimeCounter().count() , statusInfoParts.GetTimeRegulation() ); baseParts.GetInfoNameEventText().GetText().color = t13.UnityUtil.Color32InFluctUpdateAlpha( t13.UnityUtil.ColorForColor32(baseParts.GetInfoNameEventText().GetText().color) , statusInfoParts.GetTimeFlucts(2) , statusInfoParts.GetEndColor().a , statusInfoParts.GetTimeCounter().count() , statusInfoParts.GetTimeRegulation() ); frameParts.GetFrameSprite().color = t13.UnityUtil.Color32InFluctUpdateAlpha( t13.UnityUtil.ColorForColor32(frameParts.GetFrameSprite().color) , statusInfoParts.GetTimeFlucts(4) , statusInfoParts.GetEndColor().a , statusInfoParts.GetTimeCounter().count() , statusInfoParts.GetTimeRegulation() ); if (frameParts.GetHpGaugeParts().GetInfoText() != null) { frameParts.GetHpGaugeParts().GetInfoText().color = t13.UnityUtil.Color32InFluctUpdateAlpha( t13.UnityUtil.ColorForColor32(frameParts.GetHpGaugeParts().GetInfoText().color) , statusInfoParts.GetTimeFlucts(5) , statusInfoParts.GetEndColor().a , statusInfoParts.GetTimeCounter().count() , statusInfoParts.GetTimeRegulation() ); } frameParts.GetHpGaugeParts().GetGauge().color = t13.UnityUtil.Color32InFluctUpdateAlpha( t13.UnityUtil.ColorForColor32(frameParts.GetHpGaugeParts().GetGauge().color) , statusInfoParts.GetTimeFlucts(6) , statusInfoParts.GetEndColor().a , statusInfoParts.GetTimeCounter().count() , statusInfoParts.GetTimeRegulation() ); } return(mine.state_); }
public StatusInfoPartsProcess Update(StatusInfoParts statusInfoParts) { return(updateFuncs_[(int)state_](this, statusInfoParts)); }
//IdleMove static private StatusInfoPartsProcess IdleMoveUpdate(StatusInfoPartsProcessState mine, StatusInfoParts statusInfoParts) { if (statusInfoParts.GetTimeCounter().measure(Time.deltaTime, statusInfoParts.GetIdleTimeRegulation())) { Vector3 vec3 = new Vector3( statusInfoParts.gameObject.transform.position.x, statusInfoParts.gameObject.transform.position.y + statusInfoParts.GetProcessIdleState().addPos_, statusInfoParts.gameObject.transform.position.z ); t13.UnityUtil.ObjectPosMove(statusInfoParts.gameObject, vec3); statusInfoParts.SetProcessIdleState(statusInfoParts.GetProcessIdleState().Next()); } return(mine.state_); }
private void SkillResultSet(BattleManager mgr, EffectParts attackEffectParts, EffectParts defenseEffectParts, MonsterParts defenseMonsterParts, StatusInfoParts attackStatusInfoParts, StatusInfoParts defenseStatusInfoParts, DreamPointInfoParts attackDreamPointInfoParts, DreamPointInfoParts defenseDreamPointInfoParts, BTrainerBattleData attackTrainerBattleData, BTrainerBattleData defenseTrainerBattleData, IMonsterData attackMonsterData, ISkillData attackSkillData, IMonsterData defenseMonsterData) { //ダウンしていたら if (!attackMonsterData.battleActive_) { return; } //交換されていたら //if (attackTrainerBattleData.changeMonsterActive_) return; //ねむりターンの消費 mgr.SleepProcessUse(attackTrainerBattleData, attackStatusInfoParts); //こんらんターンの消費 mgr.ConfusionProcessUse(attackTrainerBattleData, attackStatusInfoParts); //文字列の設定 string skillUseContext = attackTrainerBattleData.GetUniqueTrainerName() + attackMonsterData.uniqueName_ + "の\n" + attackSkillData.skillName_ + "!"; AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), skillUseContext); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime()); AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); //技のイベントの設定 bool skillResult = attackSkillData.effectValueType_.EffectValueEventSet( mgr , attackTrainerBattleData , defenseTrainerBattleData , attackEffectParts , defenseEffectParts , defenseMonsterParts , attackStatusInfoParts , defenseStatusInfoParts , attackDreamPointInfoParts , defenseDreamPointInfoParts , attackMonsterData, attackSkillData, defenseMonsterData ); //技が当たっていなかったら if (!skillResult) { return; } //追加効果の判定 bool optionEffectTrigger = AllSceneManager.GetInstance().GetRandom().Next(0, 100) < attackSkillData.optionEffectTriggerRateValue_; //追加効果の処理 if (optionEffectTrigger) { //能力変化の処理 ParameterRankEventSet( mgr , attackTrainerBattleData , attackMonsterData, attackSkillData, defenseMonsterData ); //状態異常の処理 AbnormalEventSet( mgr , attackStatusInfoParts , defenseStatusInfoParts , attackTrainerBattleData , defenseTrainerBattleData , attackMonsterData, attackSkillData, defenseMonsterData); } if (defenseMonsterData.nowHitPoint_ <= 0) { //モンスターが倒れた時のイベント defenseTrainerBattleData.MonsterDownEventSet(mgr); AllEventManager.GetInstance().EventFinishSet(); } }
public override bool EffectValueEventSet(BattleManager mgr, BTrainerBattleData attackTrainerBattleData, BTrainerBattleData defenseTrainerBattleData, EffectParts attackEffectParts, EffectParts defenseEffectParts, MonsterParts defenseMonsterParts, StatusInfoParts attackStatusInfoParts, StatusInfoParts defenseStatusInfoParts, DreamPointInfoParts attackDreamPointInfoParts, DreamPointInfoParts defenseDreamPointInfoParts, IMonsterData attackMonsterData, ISkillData attackSkillData, IMonsterData defenseMonsterData) { //ランク補正の計算 float monsterHitRateValue = 0; { //回避率と命中率のランク int monsterHitRank = attackMonsterData.battleData_.GetHitRateParameterRank() - defenseMonsterData.battleData_.GetAvoidRateParameterRank(); //分子,分母 float numerator = 3, denominator = 3; if (monsterHitRank < 0) { denominator -= monsterHitRank; } else { numerator += monsterHitRank; } //回避率と命中率のランクの倍率 monsterHitRateValue = numerator / denominator; } //攻撃の成功判定 //技の命中率×命中補正値M×ランク補正 bool skillSuccess = AllSceneManager.GetInstance().GetRandom().Next(0, 100) < (int)(attackSkillData.successRateValue_ * (4096 / 4096) * monsterHitRateValue); //技が失敗した時の説明 if (!skillSuccess) { AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), "しかし " + attackTrainerBattleData.GetUniqueTrainerName() + attackMonsterData.uniqueName_ + "の\nこうげきは はずれた!"); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime()); AllEventManager.GetInstance().EventWaitSet(1.0f); return(false); } //急所の判定 float critical = 1; if (attackSkillData.criticalParameterRank_ <= 0) { if (AllSceneManager.GetInstance().GetRandom().Next(0, 24) == 13) { critical = 1.5f; } } else if (attackSkillData.criticalParameterRank_ == 1) { if (AllSceneManager.GetInstance().GetRandom().Next(0, 8) == 4) { critical = 1.5f; } } else if (attackSkillData.criticalParameterRank_ == 2) { if (AllSceneManager.GetInstance().GetRandom().Next(0, 2) == 0) { critical = 1.5f; } } else { critical = 1.5f; } //ヒットポイントの変動 int realEffectValue = (int)(MonsterData.BattleDamageCalculate(attackMonsterData, defenseMonsterData, attackSkillData) * critical); defenseMonsterData.nowHitPoint_ -= realEffectValue; if (defenseMonsterData.nowHitPoint_ < 0) { defenseMonsterData.nowHitPoint_ = 0; } //DPの変動 //PlayerBattleData.GetInstance().dreamPoint_ += playerSkillData.upDpValue_; int attackElementSimillarRsult = defenseMonsterData.ElementSimillarCheckerForValue(attackSkillData.elementType_); if (attackElementSimillarRsult == 3) { attackTrainerBattleData.DreamPointAddValue(AllSceneManager.GetInstance().GetUpDPValueBestSimillar()); } else if (attackElementSimillarRsult == 2) { attackTrainerBattleData.DreamPointAddValue(AllSceneManager.GetInstance().GetUpDPValueNormalSimillar()); } else if (attackElementSimillarRsult == 1) { attackTrainerBattleData.DreamPointAddValue(AllSceneManager.GetInstance().GetUpDPValueBadSimillar()); } else if (attackElementSimillarRsult == 0) { attackTrainerBattleData.DreamPointAddValue(AllSceneManager.GetInstance().GetUpDPValueNotSimillar()); } //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); //DPの演出のイベント attackDreamPointInfoParts.DPEffectEventSet(attackTrainerBattleData.GetDreamPoint()); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); //技のアニメーション attackSkillData.EffectAnimetionEventSet(defenseEffectParts); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); //ダメージを受けていたら if (realEffectValue > 0) { //ダメージアクション(点滅) defenseMonsterParts.GetEventMonsterSprite().blinkTimeRegulation_ = 0.06f; //点滅の開始 AllEventManager.GetInstance().EventSpriteRendererSet(defenseMonsterParts.GetEventMonsterSprite()); AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.BlinkStart); AllEventManager.GetInstance().AllUpdateEventExecute(); //ウェイト AllEventManager.GetInstance().EventWaitSet(0.48f); //点滅の終了 AllEventManager.GetInstance().EventSpriteRendererSet(defenseMonsterParts.GetEventMonsterSprite()); AllEventManager.GetInstance().EventSpriteRenderersUpdateExecuteSet(EventSpriteRendererEventManagerExecute.BlinkEnd); AllEventManager.GetInstance().AllUpdateEventExecute(); //ウェイト AllEventManager.GetInstance().EventWaitSet(0.2f); //ヒットポイントのゲージの変動イベントの設定 float hpGaugeFillAmount = t13.Utility.ValueForPercentage(defenseMonsterData.RealHitPoint(), defenseMonsterData.nowHitPoint_, 1); AllEventManager.GetInstance().HpGaugePartsSet(defenseStatusInfoParts.GetFrameParts().GetHpGaugeParts(), hpGaugeFillAmount, defenseMonsterData); AllEventManager.GetInstance().HpGaugePartsUpdateExecuteSet(HpGaugePartsEventManagerExecute.GaugeUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(0.5f); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); if (critical > 1.0f) { //急所の説明 AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), "きゅうしょに あたった!"); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime()); AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); } //効果の説明 int defenseElementSimillarResult = defenseMonsterData.ElementSimillarCheckerForValue(attackSkillData.elementType_); if (defenseElementSimillarResult == 3) { //DPの増加 defenseTrainerBattleData.DreamPointAddValue(AllSceneManager.GetInstance().GetUpDPValueBestSimillar()); //文字列の処理 AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), "こうかは ばつぐんだ!"); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime()); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); } else if (defenseElementSimillarResult == 2) { //DPの増加 defenseTrainerBattleData.DreamPointAddValue(AllSceneManager.GetInstance().GetUpDPValueNormalSimillar()); } else if (defenseElementSimillarResult == 1) { //DPの増加 defenseTrainerBattleData.DreamPointAddValue(AllSceneManager.GetInstance().GetUpDPValueBadSimillar()); //文字列の処理 AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), "こうかは いまひとつの ようだ"); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime()); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); } else if (defenseElementSimillarResult == 0) { //DPの増加 defenseTrainerBattleData.DreamPointAddValue(AllSceneManager.GetInstance().GetUpDPValueNotSimillar()); //文字列の処理 AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), "こうかが ないようだ・・・"); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime()); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); } //DPの演出のイベント defenseDreamPointInfoParts.DPEffectEventSet(defenseTrainerBattleData.GetDreamPoint()); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); } return(true); }
public virtual bool EffectValueEventSet(BattleManager mgr, BTrainerBattleData attackTrainerBattleData, BTrainerBattleData defenseTrainerBattleData, EffectParts attackEffectParts, EffectParts defenseEffectParts, MonsterParts defenseMonsterParts, StatusInfoParts attackStatusInfoParts, StatusInfoParts defenseStatusInfoParts, DreamPointInfoParts attackDreamPointInfoParts, DreamPointInfoParts defenseDreamPointInfoParts, IMonsterData attackMonsterData, ISkillData attackSkillData, IMonsterData defenseMonsterData) { return(false); }
//StatusInfoParts public void EventStatusInfoPartsSet(StatusInfoParts eventStatusInfoParts, Color32 setColor = new Color32()) { statusInfoPartsEventManager_.EventStatusInfoPartsSet(eventStatusInfoParts, setColor); }
public override bool EffectValueEventSet(BattleManager mgr, BTrainerBattleData attackTrainerBattleData, BTrainerBattleData defenseTrainerBattleData, EffectParts attackEffectParts, EffectParts defenseEffectParts, MonsterParts defenseMonsterParts, StatusInfoParts attackStatusInfoParts, StatusInfoParts defenseStatusInfoParts, DreamPointInfoParts attackDreamPointInfoParts, DreamPointInfoParts defenseDreamPointInfoParts, IMonsterData attackMonsterData, ISkillData attackSkillData, IMonsterData defenseMonsterData) { //技のアニメーション attackSkillData.EffectAnimetionEventSet(defenseEffectParts); AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); return(true); }
private void AbnormalEventSet(BattleManager mgr, StatusInfoParts selfStatusInfoParts, StatusInfoParts otherStatusInfoParts, BTrainerBattleData selfTrainerBattleData, BTrainerBattleData otherTrainerBattleData, IMonsterData selfMonsterData, ISkillData skillData, IMonsterData otherMonsterData) { if (skillData.addSelfAbnormalStates_[0].state_ != AddAbnormalType.None) { if (skillData.addSelfAbnormalStates_.Count > 0) { //アニメーション AllEventManager.GetInstance().EventWaitSet(1.0f); } //自分への状態異常の処理 for (int i = 0; i < skillData.addSelfAbnormalStates_.Count; ++i) { //能力変化の更新 string abnormalStateContext = skillData.addSelfAbnormalStates_[i].AddAbnormalTypeExecute(selfMonsterData); //文字列のイベント AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), selfTrainerBattleData.GetUniqueTrainerName() + abnormalStateContext); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime()); AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); } //状態異常のイベントのセット selfMonsterData.battleData_.AbnormalSetStatusInfoPartsEventSet(selfStatusInfoParts); //ねむりの処理の初期化 mgr.SleepProcessStart(); mgr.SleepUseStart(selfTrainerBattleData); //こんらんの状態の初期化 mgr.ConfusionUseStart(selfTrainerBattleData); } if (skillData.addOtherAbnormalStates_[0].state_ != AddAbnormalType.None) { if (skillData.addOtherAbnormalStates_.Count > 0) { //アニメーション AllEventManager.GetInstance().EventWaitSet(1.0f); } //相手への状態異常の処理 for (int i = 0; i < skillData.addOtherAbnormalStates_.Count; ++i) { //能力変化の更新 string abnormalStateContext = skillData.addOtherAbnormalStates_[i].AddAbnormalTypeExecute(otherMonsterData); //文字列のイベント AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), abnormalStateContext); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime()); AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); } //状態異常のイベントのセット otherMonsterData.battleData_.AbnormalSetStatusInfoPartsEventSet(otherStatusInfoParts); //ねむりの処理の初期化 mgr.SleepProcessStart(); mgr.SleepUseStart(otherTrainerBattleData); //こんらんの状態の初期化 mgr.ConfusionUseStart(otherTrainerBattleData); } }
public override bool EffectValueEventSet(BattleManager mgr, BTrainerBattleData attackTrainerBattleData, BTrainerBattleData defenseTrainerBattleData, EffectParts attackEffectParts, EffectParts defenseEffectParts, MonsterParts defenseMonsterParts, StatusInfoParts attackStatusInfoParts, StatusInfoParts defenseStatusInfoParts, DreamPointInfoParts attackDreamPointInfoParts, DreamPointInfoParts defenseDreamPointInfoParts, IMonsterData attackMonsterData, ISkillData attackSkillData, IMonsterData defenseMonsterData) { //攻撃の成功判定 //技の命中率×命中補正値M×ランク補正 bool skillSuccess = AllSceneManager.GetInstance().GetRandom().Next(0, 100) < (int)(attackSkillData.successRateValue_ * (4096 / 4096)); //技が失敗した時の説明 if (!skillSuccess) { AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), "しかし " + attackTrainerBattleData.GetUniqueTrainerName() + attackMonsterData.uniqueName_ + "は\nうまく きめられなかった!"); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime()); AllEventManager.GetInstance().EventWaitSet(1.0f); return(false); } //ヒットポイントの変動 attackMonsterData.nowHitPoint_ += (int)attackSkillData.effectValue_; if (attackMonsterData.nowHitPoint_ > attackMonsterData.RealHitPoint()) { attackMonsterData.nowHitPoint_ = attackMonsterData.RealHitPoint(); } //技のアニメーション attackSkillData.EffectAnimetionEventSet(attackEffectParts); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); //ヒットポイントのゲージの変動イベントの設定 float hpGaugeFillAmount = t13.Utility.ValueForPercentage(attackMonsterData.RealHitPoint(), attackMonsterData.nowHitPoint_, 1); AllEventManager.GetInstance().HpGaugePartsSet(attackStatusInfoParts.GetFrameParts().GetHpGaugeParts(), hpGaugeFillAmount, attackMonsterData); AllEventManager.GetInstance().HpGaugePartsUpdateExecuteSet(HpGaugePartsEventManagerExecute.GaugeUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(0.5f); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); //文字列の処理 AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), attackTrainerBattleData.GetUniqueTrainerName() + attackMonsterData.uniqueName_ + "は\nたいりょくを かいふくした!"); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime()); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); return(true); }
//None static private StatusInfoPartsProcess NoneUpdate(StatusInfoPartsProcessState mine, StatusInfoParts statusInfoParts) { return(mine.state_); }
public void EventStatusInfoPartsSet(StatusInfoParts eventStatusInfoParts, Color32 endColor) { eventStatusInfosParts_.Add(eventStatusInfoParts); endColors_.Add(endColor); }
public override bool EffectValueEventSet(BattleManager mgr, BTrainerBattleData attackTrainerBattleData, BTrainerBattleData defenseTrainerBattleData, EffectParts attackEffectParts, EffectParts defenseEffectParts, MonsterParts defenseMonsterParts, StatusInfoParts attackStatusInfoParts, StatusInfoParts defenseStatusInfoParts, DreamPointInfoParts attackDreamPointInfoParts, DreamPointInfoParts defenseDreamPointInfoParts, IMonsterData attackMonsterData, ISkillData attackSkillData, IMonsterData defenseMonsterData) { //攻撃の成功判定 //技の命中率×命中補正値M×ランク補正 bool skillSuccess = AllSceneManager.GetInstance().GetRandom().Next(0, 100) < (int)(attackSkillData.successRateValue_ * (4096 / 4096)); //技が失敗した時の説明 if (!skillSuccess) { AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), "しかし " + attackTrainerBattleData.GetUniqueTrainerName() + attackMonsterData.uniqueName_ + "は\nうまく きめられなかった!"); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime()); AllEventManager.GetInstance().EventWaitSet(1.0f); return(false); } //ドリームポイントの変動 attackTrainerBattleData.DreamPointAddValue((int)attackSkillData.effectValue_); defenseTrainerBattleData.DreamPointAddValue(-(int)attackSkillData.effectValue_); //技のアニメーション attackSkillData.EffectAnimetionEventSet(attackEffectParts); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); //DPの演出のイベント defenseDreamPointInfoParts.DPEffectEventSet(defenseTrainerBattleData.GetDreamPoint()); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); //DPの演出のイベント attackDreamPointInfoParts.DPEffectEventSet(attackTrainerBattleData.GetDreamPoint()); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); //文字列の処理 AllEventManager.GetInstance().EventTextSet(mgr.GetNovelWindowParts().GetNovelWindowEventText(), attackTrainerBattleData.GetUniqueTrainerName() + attackMonsterData.uniqueName_ + "は\nドリームポイントを うばった!"); AllEventManager.GetInstance().EventTextsUpdateExecuteSet(EventTextEventManagerExecute.CharaUpdate); AllEventManager.GetInstance().AllUpdateEventExecute(mgr.GetEventContextUpdateTime()); //ウェイト AllEventManager.GetInstance().EventWaitSet(mgr.GetEventWaitTime()); return(true); }