Ejemplo n.º 1
0
    protected override void ApplicationStarted()
    {
        defaultPool = PoolManager.GetPool();

        var levelBlueprint  = new LevelBlueprint();
        var levelEntity     = defaultPool.CreateEntity(levelBlueprint);
        var player          = defaultPool.CreateEntity(new PlayerBlueprint(_gameConfiguration.StartingFoodPoints));
        var playerView      = player.GetComponent <ViewComponent>();
        var playerComponent = player.GetComponent <PlayerComponent>();
        var levelComponent  = levelEntity.GetComponent <LevelComponent>();

        levelComponent.Level.DistinctUntilChanged()
        .Subscribe(x => {
            playerView.View.transform.position = Vector3.zero;
            SetupLevel(levelComponent);
        });

        _eventSystem.Receive <PlayerKilledEvent>()
        .Delay(TimeSpan.FromSeconds(_gameConfiguration.IntroLength))
        .Subscribe(x =>
        {
            levelBlueprint.UpdateLevel(levelComponent, 1);
            playerComponent.Food.Value = _gameConfiguration.StartingFoodPoints;
            SetupLevel(levelComponent);
        });
    }
Ejemplo n.º 2
0
        public override void EventTriggered(ExitReachedEvent eventData)
        {
            var movementComponent = eventData.Player.GetComponent <MovementComponent>();

            movementComponent.StopMovement = true;

            var levelComponent = _level.GetComponent <LevelComponent>();
            var currentLevel   = levelComponent.Level.Value;
            var levelBlueprint = new LevelBlueprint();

            levelBlueprint.UpdateLevel(levelComponent, currentLevel + 1);
        }