public static void SetState(string type, BattlerSerializable battler, int turn = 0) { var state = battler.status.Find(x => x.type == type); if (state == null) { BattlerSerializableStatus battlerSerializableStatus = new BattlerSerializableStatus(); battlerSerializableStatus.type = type; battlerSerializableStatus.value = 1; battlerSerializableStatus.turn = turn; battler.status.Add(battlerSerializableStatus); BattlePresenter.GetInstance().BattlerSpriteModel.GetData(battler.uniqId).Status.OnNext(Unit.Default); } }
private void StateIconValueRefresh(StateStruct stateStruct, BattlerSerializableStatus state) { //数値表示させる場合 if (StatusDictionary.IsValueView(state.type)) { var text = stateStruct.StateTransform.Find("Value"); text.GetComponent <TextMeshProUGUI>().text = state.value.ToString(); text.GetComponent <TextMeshProUGUI>().color = StatusDictionary.StatusValueColor(state.type); } //ターン数表示させる場合 if (StatusDictionary.IsTurnStatus(state.type)) { var text = stateStruct.StateTransform.Find("TurnValue"); text.GetComponent <TextMeshProUGUI>().text = state.turn.ToString(); } }
private static void StatusDamage(SkillDamage damage, BattlerSerializable battler) { var status = battler.status.Find(x => x.type == damage.valueTarget); if (status == null) { BattlerSerializableStatus battlerSerializableStatus = new BattlerSerializableStatus(); battlerSerializableStatus.type = damage.valueTarget; battlerSerializableStatus.value = damage.damage; if (StatusDictionary.IsTurnStatus(damage.valueTarget)) { battlerSerializableStatus.turn = damage.turn; } battler.status.Add(battlerSerializableStatus); BattlePresenter.GetInstance().BattlerSpriteModel.GetData(battler.uniqId).Status.OnNext(Unit.Default); } else { status.value += damage.damage; } }
private static void StateTurnCount(BattlerSerializableStatus state) { state.turn -= 1; }