private static void UpdateTrainingOptions(ETrainingOption trainingOption, int currentValue) { m_TrainingOptions[(int)trainingOption] = currentValue; switch (trainingOption) { case ETrainingOption.Player2Mode: switch ((EPlayer2TrainingMode)currentValue) { case EPlayer2TrainingMode.Dummy: m_Player2Settings.m_AttackEnabled = false; m_Player2Settings.m_IsStatic = true; break; case EPlayer2TrainingMode.Player: m_Player2Settings.m_AttackEnabled = true; m_Player2Settings.m_IsStatic = false; break; default: KakutoDebug.LogError("Player2TrainingMode isn't valid."); break; } break; case ETrainingOption.StanceMode: m_Player2Settings.m_DefaultStance = (EPlayerStance)currentValue; break; case ETrainingOption.GuardMode: switch ((EGuardTrainingMode)currentValue) { case EGuardTrainingMode.None: m_Player2Settings.m_IsBlockingAllAttacks = false; m_Player2Settings.m_IsBlockingAllAttacksAfterHitStun = false; break; case EGuardTrainingMode.AfterHit: m_Player2Settings.m_IsBlockingAllAttacks = false; m_Player2Settings.m_IsBlockingAllAttacksAfterHitStun = true; break; case EGuardTrainingMode.Always: m_Player2Settings.m_IsBlockingAllAttacks = true; m_Player2Settings.m_IsBlockingAllAttacksAfterHitStun = false; break; default: KakutoDebug.LogError("GuardTrainingMode isn't valid."); break; } break; case ETrainingOption.InfiniteSuperGauge: m_Player1Settings.SuperGaugeAlwaysFilled = m_Player2Settings.SuperGaugeAlwaysFilled = currentValue == 0 ? false : true; break; case ETrainingOption.InfiniteTriggerPoint: m_Player1Settings.TriggerPointAlwaysActive = m_Player2Settings.TriggerPointAlwaysActive = currentValue == 0 ? false : true; break; case ETrainingOption.ImmuneToStun: m_Player1Settings.m_IsImmuneToStunGauge = m_Player2Settings.m_IsImmuneToStunGauge = currentValue == 0 ? false : true; break; case ETrainingOption.DisplayDamage: m_Player1Settings.m_DisplayDamageTaken = m_Player2Settings.m_DisplayDamageTaken = currentValue == 0 ? false : true; break; case ETrainingOption.DisplayInputs: m_DebugSettings.m_DisplayInputsInfo = m_DebugSettings.m_DisplayAttacksInfo = currentValue == 0 ? false : true; break; case ETrainingOption.DisplayHitboxes: m_DebugSettings.m_DisplayBoxColliders = currentValue == 0 ? false : true; break; } }
private void OnTrainingOptionChanged(ETrainingOption trainingOption, int currentValue) { UpdateTrainingOptions(trainingOption, currentValue); SaveTrainingOptions(); }