Closed Kencho closed 3 years ago
La refactorización opcional no se ha llevado a cabo tal y como se ha pedido ya que el error no era el especificado, sino que debido a copiar código se han mantenido fragmentos de código de otra clase. El spriteIndex debería tener en el Start el valor del índice del último elemento del vector (pues en cada llamada del Update se llama primero al siguiente elemento, en este caso se pasa al sprite inicial, y luego opera). En cuanto a renombrar spriteIndex por SpriteIndex, no lo he hecho porque SpriteIndex es el equivalente a los getter y setter de C# pero como no hace falta a las demás clases (salvo OneTimeAnimator) acceder a esa variable se ha prescindido de añadir getter y setter.
PlayerLanded eliminado en vez de refactorizado ya que no es usada en ningún momento ni se planea que sea usada, así que es código muerto.
PlayerStopJump se ha eliminado en vez de refactorizarse porque no es usada ni se planea usarla, así que es código muerto.
PlayerTokenCollision no se puede refactorizar porque fue eliminada en el pasado debido a que es código muerto.
KinematicObjectWallColision se ha eliminado en vez de refactorizarse porque no es usada ni se planea usarla, así que es código muerto.
no se ha usado el namespace Platformer.Mechanics.KinematicObject sino Platformer.Mechanics.KinematicObjects debido a que un namespace y una clase no pueden tener el mismo nombre.
No se ha usado el namespace Platformer.Mechanics.Player.PlayerMechanic sino Platformer.Mechanics.Player.PlayerMechanics debido a que un namespace y una clase no pueden tener el mismo nombre.
El ultimo commit corresponde a la issue #70 y no a esta issue.
@mri1001 :
Mechanics.Player.PlayerMechanics.BulletTime
aún hay algunos "cooldown" escritos como Cooldonw
.
Aplicar las refactorizaciones sugeridas:
Platformer.Animation.SpriteAnimator
rendererOfSprites
aspriteRenderer
.spriteIndex
a su declaración y aumenta su visibilidad apublic
para que, aunque por defecto siga siendo12
, se pueda editar desde el inspector y no sea algo "incrustado" en el código de la clase. No olvides renombrarlo aSpriteIndex
para que sea consistente con el estilo de código.Platformer.Animation.OneTimeAnimation
OneShotAnimation
. Es el término que se suele usar para estos casos.animationReproducton
(falta una "i") aanimationPlaying
oplaying
a secas.Platformer.Core.GameController
SetPlatformerVariables
aSetModelAttributes
.InstanceStatingObjects
aInstanceStartingObjects
.Platformer.Core.StartingObject
DisablePlayerInput
Platformer.Gameplay.PlayerEvents
Platformer.Gameplay.EnablePlayerInput
Platformer.Gameplay.PlayerEvents
Platformer.Gameplay.PlayerDeath
Platformer.Gameplay.PlayerEvents
Platformer.Gameplay.PlayerEnteredDeathZone
Platformer.Gameplay.PlayerEvents
Platformer.Gameplay.PlayerEnteredVictoryZone
Platformer.Gameplay.PlayerEvents
Platformer.Gameplay.PlayerJumped
Platformer.Gameplay.PlayerEvents
Platformer.Gameplay.PlayerLanded
Platformer.Gameplay.PlayerEvents
Platformer.Gameplay.PlayerObstacleCollision
Platformer.Gameplay.PlayerEvents
Platformer.Gameplay.PlayerSpawn
Platformer.Gameplay.PlayerEvents
Platformer.Gameplay.PlayerStopJump
Platformer.Gameplay.PlayerEvents
Platformer.Gameplay.PlayerTokenCollision
Platformer.Gameplay.PlayerEvents
typeparam
en la documentación de la clase.Platformer.Gameplay.SceneManagement
Platformer.Gameplay.SceneEvents
por consistencia conPlayerEvents
.Platformer.Gameplay.LoadGameMenu
Platformer.Gameplay.SceneManagement
Platformer.Gameplay.HealthIsZero
PlayerEvents
?), al ser un evento.Platformer.Gameplay.KinematicObjectWallCollision
PlayerEvents
?), al ser un evento.UpdateVelocityKinObj
aUpdateKinematicObjectVelocity
.Platformer.Gameplay.SetGameInitialState
GameEvents
?), al ser un evento.Platformer.GizmosUI
GizmosUI
o el namespace aGizmos
. Se recomienda la primera para minimizar los cambios en el código.WallGizmo
Platformer.GizmosUI
Platformer.Enemies.ObstacleDestroyer
,Platformer.Enemies.ObstacleFactory
yPlatformer.Enemies.TriggerObstacleFactory
Platformer.Mechanics.Enemies.ObstacleResources
.ObstacleResources
.Platformer.Enemies.Obstacle
yPlatformer.Enemies.MovingObstacle
Platformer.Mechanics.Enemies
.Platformer.Enemies.PatrolObstacle
Platformer.Mechanics.Enemies
.pathTimeTravel
atravelDuration
otravelTime
.Platformer.Mechanics.DenseObstacle
Platformer.Mechanics.GravityModifiers
.calculateKineObjDirection
aCalculateKinematicObjectDirection
. Ten en cuenta la convención de capitalización recomendada por MS. Es algo diferente en Unity, pero en general se adhiere a ella.Platformer.Mechanics.GravityInverter
Platformer.Mechanics.GravityModifiers
.Platformer.Mechanics.GravityInverterManager
Platformer.Mechanics.GravityModifiers
.AfectedKineObjs
aaffectedKineObjs
(he visto que estabas usando PascalCase para los atributos y propiedades públicas y camelCase para las privadas). Ojo a las "ff" en "affected".ApplyGravityInversionToAfectedKineObjs
aApplyGravityInversionToAffectedKinematicObjects
o simplementeApplyGravityInversion
.InverGravityOfKinematicObject
aInvertGravityOfKinematicObject
.ResetAfectedKineObjs
aResetAffectedKinematicObjects
.Platformer.Mechanics.Impulse*
Platformer.Mechanics.ImpulseCreators
.Platformer.Mechanics.KinematicObject
Platformer.Mechanics.KinematicObject
.Platformer.Mechanics.KinematicObjectCollisionManager
Platformer.Mechanics.KinematicObject
.manageCollision
aHandleCollision
.manageWallCollision
aHandleWallCollision
.manageImpulseCreatorCollision
aHandleImpulseCreatorCollision
.Platformer.Mechanics.KinematicObjectGravityManager
Platformer.Mechanics.KinematicObject
.gravityModifier
aaggregatedGravityModifier
.gravityAltertions
agravityModifiers
. Si no se hace ese renombrado, al menos corregir el error tipográficoaltertions
poralterations
.gravityAltertion
agravityModifier
. Si no se hace ese renombrado, al menos corregir el error tipográficoaltertion
poralteration
.ManageGravity
aHandleGravity
.addGravityAlteration
aAddGravityAlteration
.Platformer.Mechanics.PatrolPath
Platformer.Mechanics.PatrolPath
.getNextPathPosition
aGetNextPathPosition
.isSectiontraveled
aIsSectionTraveled
.Platformer.Mechanics.TimeAfectedPatrolPath
Platformer.Mechanics.PatrolPath
.TimeAffectedPatrolPath
.Platformer.Player.PlayerMechanic
Platformer.Mechanics.Player.PlayerMechanic
.Platformer.Player.BulletTime
Platformer.Mechanics.Player.PlayerMechanic
.bulletTimeColdonw
abulletTimeCooldown
.timeWithOutBulletTime
atimeWithoutBulletTime
.bulletTimeAbble
abulletTimeAvailable
.applingBulletTime
abulletTimeEnabled
,bulletTimeActive
o en última instancia,applyingBulletTime
.ApplingbulletTime
siguiendo la misma política que el atributoapplingBulletTime
.bulletTimeColdonw
abulletTimeCooldown
.Platformer.Player.Dash
Platformer.Mechanics.Player.PlayerMechanic
.dashColdown
adashCooldown
.dashable
adashAvailable
.timeWithOutFlash
atimeWithoutDash
.dashColdown
adashCooldown
.&
(combinación binaria AND) a&&
(comparación booleana AND).Platformer.Player.Jump
Platformer.Mechanics.Player.PlayerMechanic
.jumpable
ajumpAvailable
.Platformer.Player.Player*State
Platformer.Mechanics.Player.PlayerStates
.Platformer.Player.PlayerDashingState
calculateDashSpeed
aCalculateDashSpeed
.Platformer.Player.PlayerOnAirState
MoveInAir
aAerialMovement
.Platformer.Player.PlayerStopingState
PlayerStopingState
aPlayerStoppingState
.Platformer.Player.PlayerController
Platformer.Mechanics.Player
.ApplingBulletTime
según la misma política quePlatformer.Player.BulletTime.ApplingBulletTime
.manageInputs
aManageInputs
.manageFlags
aManageFlags
.AnimarMovimientoPlayer
aAnimateMovement
.Platformer.Resources.MathOperations
magnitude
hace esa misma operación, pero más rápido.Platformer.Physics.PhisicsController
Platformer.Mechanics.Resources
.PhysicsController
.SimulateGarvity
aSimulateGravity
.Platformer.Resources.PlayerTrigger
Platformer.Mechanics.Resources
.isTrigger
aisTriggered
.IsTrigger
aIsTriggered
.Platformer.Mechanics.Time*
Platformer.Mechanics.TimeModifiers
.Platformer.Mechanics.TimeAfectedObject
TimeAffectedObject
.Platformer.Mechanics.TimeAffectedZone
timeScaleAplied
atimeScaleApplied
.timeAfectedObj
atimeAffectedObj
.Platformer.Mechanics.TimeManager
timeAfectedObjects
atimeAffectedObjects
.timeAfectedObject
deScaleTime
,UnScaleTime
yResetTimeScale
atimeAffectedObject
.ResetTimeAfectedObjects
aResetAffectedObjects
(si los afectados son todos cinéticos, sigue la misma nomenclatura que enGravityInverterManager
y llámaloResetAffectedKinematicObjects
).Platformer.Mechanics.Portal
portalAbbled
aportalEnabled
.Platformer.UI.OptionsCanvasManager
panelActived
apanelActivated
.InitialiceOptionsPanel
aInitializeOptionsPanel
.ActivePanel
aActivatePanel
.DisactivePanel
aDeactivatePanel
.using
no utilizados en todos los ficheros donde proceda (son la mayoría).