void Update() { var isWalkable = _caveLevel.IsWalkablePosition(_player.Position) || Settings.Cheat_Mode; if (!isWalkable) { var nextPos = _caveLevel.GetCollisionPOI(_player.Position, _player.lastPos); var normalCollision = _caveLevel.GetCollisionNormal(nextPos); //Console.WriteLine($"nextpos: {nextPos} | normal: {normalCollision}"); _player.SetXY(_player.lastPos.x, _player.lastPos.y); _debugPOI?.SetXY(nextPos.x, nextPos.y); if (_debugNormalPOI != null) { _debugNormalPOI.startPoint = _cam.WorldPositionToScreenPosition(nextPos); _debugNormalPOI.vector = normalCollision; } } }
private void drawPlayer() { player = new Player(this); _midgroundLayer.AddChild(player); player.spawnX = 448; player.spawnY = 570; player.SetXY(player.spawnX, player.spawnY); }
public BaseLevel(CaveLevelMapGameObject pCaveLevel, MCamera pCam) { _caveLevelMap = pCaveLevel; _cam = (FollowCamera)pCam; AddChild(_caveLevelMap); var doorsManager = new DoorsManager(_caveLevelMap, this); AddChild(doorsManager); var memoriesManager = new HistoryPickupsManager(_caveLevelMap, this); AddChild(memoriesManager); var oilPickUpManager = new OilPickUpsManager(_caveLevelMap, this); AddChild(oilPickUpManager); var flashbacksTriggerManager = new FlashBackTriggersManager(_caveLevelMap, this); AddChild(flashbacksTriggerManager); var flashbackPickupsManager = new FlashbackPickupsManager(_caveLevelMap, this); AddChild(flashbackPickupsManager); var hiddenRoomManager = new HiddenRoomCoverManager(this); AddChild(hiddenRoomManager); var flashbacksManager = new FlashbackManager(this, flashbacksTriggerManager.FlashTriggersMap.Count); AddChild(flashbacksManager); var darkHallManager = new DarkHallManager(_caveLevelMap, this); AddChild(darkHallManager); var particlesManager = new ParticleManager(); _player = new Player(); AddChild(_player); var spawnPoint = GetPlayerSpawnPoint(); _player.SetXY(spawnPoint.x, spawnPoint.y); AddChild(_cam); _cam.Target = _player; _cam.Map = _caveLevelMap; _cam.SetXY(spawnPoint.x, spawnPoint.y); _playerCollision = new PlayerCollision(_player, _caveLevelMap, _cam); AddChild(_playerCollision); CoroutineManager.StartCoroutine(Start(), this); }