private void TreatElement(ElementObserver elementObs) { elementObs.isTreated = true; EffectTransformation eTransf = elementObs.ElementDetected.Effect(true); if (isJumping || !eTransf.isChangingSomething) return; TreatmentIfObstacle(eTransf);//Evite Un cas de bug ou on passerait sur un obstacle if (eTransf.isWinner) { OnPlayerWin (); return; } if(eTransf.isStartingJump) { OnPlayerJump(); } if (eTransf.isWater && playerAssociated!=null) { playerAssociated.FallInWater(); } if (eTransf.newDirection != null) { transform.position = CurrentDirection.calculFavoritePos(transform.position); CurrentDirection = eTransf.newDirection; } if (eTransf.newPosition != new Vector3()) { transform.position = CurrentDirection.calculFavoritePos(eTransf.newPosition); } }
private void TreatObstacleElement(ElementObserver elementObs) { elementObs.isTreated = true; EffectTransformation eTransf = elementObs.ElementDetected.Effect(); if(isJumping && !eTransf.isTall) { return; } TreatmentIfObstacle (eTransf); }