MCPcopy Create free account
hub / github.com/Voidware-Prohibited/ALSXT / InputBlock

Method InputBlock

Source/ALSXT/Private/AlsxtCharacter.cpp:2205–2253  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2203}
2204
2205void AAlsxtCharacter::InputBlock(const FInputActionValue& ActionValue)
2206{
2207 FAlsxtDefensiveModeState PreviousDefensiveModeState = GetDefensiveModeState();
2208
2209 if (CanEnterBlockingDefensiveMode())
2210 {
2211 if (ActionValue.Get<bool>() == true)
2212 {
2213 FAlsxtDefensiveModeState NewDefensiveModeState = GetDefensiveModeState();
2214 NewDefensiveModeState.Mode = ALSXTDefensiveModeTags::Anticipation;
2215 NewDefensiveModeState.AnticipationMode = ALSXTDefensiveModeTags::Anticipation;
2216 NewDefensiveModeState.AnticipationSide = PreviousDefensiveModeState.AnticipationSide == FGameplayTag::EmptyTag ? ALSXTImpactSideTags::Front : PreviousDefensiveModeState.AnticipationSide;
2217 NewDefensiveModeState.AnticipationHeight = PreviousDefensiveModeState.AnticipationHeight == FGameplayTag::EmptyTag ? ALSXTImpactHeightTags::Middle : PreviousDefensiveModeState.AnticipationHeight;
2218 NewDefensiveModeState.ObstacleMode = FGameplayTag::EmptyTag;
2219 NewDefensiveModeState.ObstacleSide = FGameplayTag::EmptyTag;
2220 NewDefensiveModeState.ObstacleHeight = FGameplayTag::EmptyTag;
2221 SetDefensiveModeState(NewDefensiveModeState);
2222 // SetDesiredDefensiveMode(ALSXTDefensiveModeTags::Blocking);
2223
2224 }
2225 else
2226 {
2227 // ResetDefensiveModeState();
2228 FAlsxtDefensiveModeState NewDefensiveModeState = GetDefensiveModeState();
2229 NewDefensiveModeState.Mode = PreviousDefensiveModeState.Mode == ALSXTDefensiveModeTags::Anticipation ? FGameplayTag::EmptyTag : PreviousDefensiveModeState.Mode;
2230 NewDefensiveModeState.AnticipationMode = FGameplayTag::EmptyTag;
2231 NewDefensiveModeState.AnticipationSide = FGameplayTag::EmptyTag;
2232 NewDefensiveModeState.AnticipationHeight = FGameplayTag::EmptyTag;
2233 NewDefensiveModeState.ObstacleMode = FGameplayTag::EmptyTag;
2234 NewDefensiveModeState.ObstacleSide = FGameplayTag::EmptyTag;
2235 NewDefensiveModeState.ObstacleHeight = FGameplayTag::EmptyTag;
2236 SetDefensiveModeState(NewDefensiveModeState);
2237 // SetDesiredDefensiveMode(FGameplayTag::EmptyTag);
2238 }
2239 }
2240 else if ((DesiredDefensiveMode == ALSXTDefensiveModeTags::Blocking) && (ActionValue.Get<bool>() == false))
2241 {
2242 FAlsxtDefensiveModeState NewDefensiveModeState = GetDefensiveModeState();
2243 NewDefensiveModeState.Mode = PreviousDefensiveModeState.Mode == ALSXTDefensiveModeTags::Anticipation ? FGameplayTag::EmptyTag : PreviousDefensiveModeState.Mode;
2244 NewDefensiveModeState.AnticipationMode = FGameplayTag::EmptyTag;
2245 NewDefensiveModeState.AnticipationSide = FGameplayTag::EmptyTag;
2246 NewDefensiveModeState.AnticipationHeight = FGameplayTag::EmptyTag;
2247 NewDefensiveModeState.ObstacleMode = FGameplayTag::EmptyTag;
2248 NewDefensiveModeState.ObstacleSide = FGameplayTag::EmptyTag;
2249 NewDefensiveModeState.ObstacleHeight = FGameplayTag::EmptyTag;
2250 SetDefensiveModeState(NewDefensiveModeState);
2251 SetDesiredDefensiveMode(FGameplayTag::EmptyTag);
2252 }
2253}
2254
2255bool AAlsxtCharacter::CanPerformPrimaryInteraction_Implementation() const
2256{

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected