You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
600 hahmoluokka ottaa kiinni projektiilin, liikkuu toisaalle ja päästää projektiilin irti kun hahmo pysähtyy, ei päätä projektiilin suuntaa, mutta hidastaa sen kulkua
Toiminta
Kun projektiili osuu kilpeen
Normaali toiminta
1. Projektiili pysähtyy kilpeen
2. Projektiili liikkuu hahmon mukana kunnes hahmo pysähtyy
Pelaajalla on x määrä sekunteja alkaa liikkumaan pallon osuttua kilpeen
Jos pelaaja liikkuu enemmän kuin x määrä sekunteja, pallo jatkaa matkaansa
3. Projektiili jatkaa matkaansa muun logiikan mukaan
Toteutus
Simulation
Lisää BattlePlayerClass600Data component
bool IsHoldingProjectile
EntityRef HeldProjectileEntity
FPVector2 HeldProjectileOffset
FrameTimer HoldMinTimer
FrameTimer HoldMaxTimer
FrameTimer ReleaseBufferTimer
Lisää BattlePlayerClass600QSpec
FP HoldMinDurationSec
FP HoldMaxDurationSec
FP ReleaseBufferSec
BattlePlayerClass600
OnProjectileHitPlayerShield
Korvaa logiikka kokonaan (kaikki checkien jälkeen)
BattleProjectileQSystem.HandleIntersection
IsHoldingProjectile = true
BattleProjectileQSystem.SetHeld(true)
Aseta HeldProjectileEntity ja HeldProjectileOffset
Aloita HoldMinTimer ja HoldMaxTimer
Lisää OnUpdate override metodi
Jos IsHoldingProjectile = false, return
AllowCharacterSwapping = false
päivitä projektiilin position
Jos liikutaan, aloita ReleaseBufferTimer
Tarkista MinTimer, jos päällä, return
Tarkista MaxTimer ja ReleaseBufferTime, jos molemmat päällä, return
BattleProjectileQSystem.UpdateVelocity suoraan ylöspäin
Taskin kuvaus
600 hahmoluokka ottaa kiinni projektiilin, liikkuu toisaalle ja päästää projektiilin irti kun hahmo pysähtyy, ei päätä projektiilin suuntaa, mutta hidastaa sen kulkua
Toiminta
Toteutus