示例#1
0
        public void Rollback()
        {
            const float deltaTime      = 1f / 10f; // Running 10 FPS
            const float fixedDeltaTime = 1f / 5f;  // Fixed tick at 5 FPS

            //const float deltaTime = 1f / 60f; // Running 10 FPS
            //const float fixedDeltaTime = 1f / 30f; // Fixed tick at 5 FPS


            var world = Helpers.NewWorld();

            var inputSystem    = new PlayerInputSystem();
            var movementSystem = new MovementSystem();

            var game = new GameManager(
                fixedTick: fixedDeltaTime,
                world: world,
                update:
                new Systems(world)
                .Add(inputSystem),
                fixedUpdate:
                new Systems(world)
                .Add(movementSystem));

            game.Create();

            var query = world.GetEntityQuery <EntityQuery <SampleStructs.Foo> >();

            var entityInput = world.NewEntity();
            //ref var input = ref entityInput.GetComponent<SingletonInputComponent>();

            var entityPlayer = world.NewEntity();

            entityPlayer.GetComponent <SingletonPlayerComponent>();
            ref var movement = ref entityPlayer.GetComponent <MovementComponent>();
示例#2
0
        /// <summary>
        /// Allows the game to perform any initialization it needs to before starting to run.
        /// This is where it can query for any required services and load any non-graphic
        /// related content.  Calling base.Initialize will enumerate through any components
        /// and initialize them as well.
        /// </summary>
        protected override void Initialize()
        {
            GameEntityFactory.GraphicsDevice = GraphicsDevice;

            frameCounterSystem = new FrameCounterSystem(true, this.Window);
            modelRenderSystem  = new ModelRenderSystem();
            modelRenderSystem.graphicsDevice = GraphicsDevice;
            playerInputSystem        = new PlayerInputSystem();
            cameraSystem             = new CameraSystem();
            uiSystem                 = new UIRenderSystem();
            collisionHandlingSystem  = new CollisionHandlingSystem();
            aiSystem                 = new AiSystem();
            collisionDetectionSystem = new CollisionDetectionSystem(false);
            frictionSystem           = new FrictionSystem();
            gravitySystem            = new GravitySystem();
            transformSystem          = new TransformSystem();


            SystemManager.Instance.AddToUpdateables(
                cameraSystem,
                collisionDetectionSystem,
                transformSystem,
                gravitySystem,
                frictionSystem,
                playerInputSystem,
                collisionHandlingSystem,
                aiSystem,
                frameCounterSystem
                );

            SystemManager.Instance.AddToDrawables(modelRenderSystem, frameCounterSystem, uiSystem);

            base.Initialize();
        }
示例#3
0
 private void Awake()
 {
     rb = GetComponent <Rigidbody2D>();
     playerInputSystem = new PlayerInputSystem();
     playerInputSystem.Player.Jump.performed     += ctx => Jump(ctx);
     playerInputSystem.Player.Movement.performed += ctx => Movement(ctx);
     playerInputSystem.Player.Movement.canceled  += ctx => MovementCanceled(ctx);
 }
示例#4
0
 private void Start()
 {
     playerInputSystem     = World.Active.GetOrCreateSystem <PlayerInputSystem>();
     playerMovementSystem  = World.Active.GetOrCreateSystem <PlayerMovementSystem>();
     playerTurningSystem   = World.Active.GetOrCreateSystem <PlayerTurningSystem>();
     playerAnimationSystem = World.Active.GetOrCreateSystem <PlayerAnimationSystem>();
     cameraFollowSystem    = World.Active.GetOrCreateSystem <CameraFollowSystem>();
 }
    private void Start()
    {
        var world = World.DefaultGameObjectInjectionWorld;

        playerInputSystem     = world.GetOrCreateSystem <PlayerInputSystem>();
        playerMovementSystem  = world.GetOrCreateSystem <PlayerMovementSystem>();
        playerTurningSystem   = world.GetOrCreateSystem <PlayerTurningSystem>();
        playerAnimationSystem = world.GetOrCreateSystem <PlayerAnimationSystem>();
        cameraFollowSystem    = world.GetOrCreateSystem <CameraFollowSystem>();
    }
    void Start()
    {
        var world = World.DefaultGameObjectInjectionWorld;

        _playerInputSystem    = world.GetOrCreateSystem <PlayerInputSystem>();
        _playerMovementSystem = world.GetOrCreateSystem <PlayerMovementSystem>();
        _playerTurningSystem  = world.GetOrCreateSystem <PlayerTurningSystem>();
        _cameraFollowing      = world.GetOrCreateSystem <CameraFollowingSystem>();
        _playerAttackSystem   = world.GetOrCreateSystem <PlayerAttackSystem>();
    }
示例#7
0
 private void Awake()
 {
     instance          = this;
     dynamicKeyActions = new List <DynamicKeyAction>();
     Global.OnTurnChange.RegisterListener(OnTurnChanged);
     mousePos = lastMousePos = Vector2Int.zero;
     Global.OnMapCleared.RegisterListener(OnNOMap);
     Global.OnMapCreated.RegisterListener(OnMapStart);
     canvas = GameObject.FindGameObjectWithTag("Canvas");
 }
        private void Start()
        {
            playerInputSystem = FindObjectOfType <PlayerInputSystem>();
            input             = playerInputSystem.Input;

            input.Player.Aim.performed   += HandleInput;
            input.Player.Shoot.performed += HandleInput;

            input.Player.Aim.canceled   += CancelInput;
            input.Player.Shoot.canceled += CancelInput;
        }
示例#9
0
 public void Initialize()
 {
     if (!rb)
     {
         rb = GetComponent <Rigidbody2D>();
     }
     _system = GetComponent <PlayerInputSystem>();
     _system.Player["Interact"].performed += ctx => OnInteract();
     _system.Player["Ability"].performed  += ctx => OnAbility();
     _system.Player["Jump"].started       += ctx => OnJump();
     GetComponent <Movement>().OnLand     += OnLand;
 }
示例#10
0
 public void Initialize()
 {
     world       = new EntityWorld();
     system      = new PlayerInputSystem();
     consoleMock = new Mock <IConsole>();
     consoleMock.Setup(m => m.ReadChar()).Returns('1');
     consoleMock.Setup(m => m.WindowHeight).Returns(25);
     consoleMock.Setup(m => m.WindowWidth).Returns(80);
     system.Console = consoleMock.Object;
     world.SystemManager.SetSystem(system, Artemis.Manager.GameLoopType.Update);
     humanEntity = world.CreateEntity();
     humanEntity.AddComponent(new Human());
 }
示例#11
0
    void Awake()
    {
        controls   = new PlayerInputSystem();
        gameMaster = Camera.main.GetComponent <GameMaster> ();

        controls.Input.Movement.performed += ctx => movementInput = ctx.ReadValue <float> ();
        controls.Input.Movement.canceled  += ctx => movementInput = 0;

        controls.Input.Jump.performed += ctx => jumpInput = true;
        controls.Input.Jump.canceled  += ctx => jumpInput = false;

        controls.InputUI.Pause.performed += ctx => gameMaster.Pause();
    }
 private void Start()
 {
     characterController = GetComponent<CharacterController>();
     movementSystem = GetComponent<PlayerInputSystem>();
     healthSystem = GetComponent<HealthSystem>();
     healthSystem.OnDied += HealthSystem_OnDied;
     weaponSystem = GetComponent<WeaponSystem>();
     weapon = GetComponent<BaseWeapon>();
     weaponModifier.SetTarget(weapon);
     weaponSystem.EquipWeapon(weapon);
     collisionSystem = GetComponent<CharacterCollisionSystem>();
     collisionSystem.OnBulletCollisionEnter.AddListener(OnBulletCollision);
 }
    private void Start()
    {
        playerInputSystem     = World.Active.GetOrCreateSystem <PlayerInputSystem>();
        playerMovementSystem  = World.Active.GetOrCreateSystem <PlayerMovementSystem>();
        playerTurningSystem   = World.Active.GetOrCreateSystem <PlayerTurningSystem>();
        playerAnimationSystem = World.Active.GetOrCreateSystem <PlayerAnimationSystem>();
        cameraFollowSystem    = World.Active.GetOrCreateSystem <CameraFollowSystem>();

        World.Active.GetExistingSystem <EnemyMovementSystem>().Enabled  = false;
        World.Active.GetExistingSystem <EnemyShootingSystem>().Enabled  = false;
        World.Active.GetExistingSystem <PlayerMovementSystem>().Enabled = false;
        World.Active.GetExistingSystem <PlayerShootingSystem>().Enabled = false;
        World.Active.GetExistingSystem <PlayerTurningSystem>().Enabled  = false;
        World.Active.GetExistingSystem <ZoneShrinkingSystem>().Enabled  = false;
    }
示例#14
0
    public PlayerReconciler(
        PlayerInputSystem inputSystem,
        GameLoop loop,
        LocalClient client,
        PlayerRegistry playerRegistry,
        Settings settings
        )
    {
        _inputSystem    = inputSystem;
        _loop           = loop;
        _client         = client;
        _playerRegistry = playerRegistry;
        _settings       = settings;

        _positionHistoryLength = _settings.playerPositionHistoryLength;
    }
示例#15
0
        public void TestPlayerInputSystem()
        {
            var state = new GameState();

            for (int i = 0; i < NUMBER_OF_ENTITIES; ++i)
            {
                state.GameData.Players[i]    = new Player(0, 3);
                state.GameData.Velocities[i] = new Vector2(0.0f, 0.0f);
                state.GameData.Weapons[i]    = new Weapon(false);
                state.GameData.Tags[i]       = 1;

                state.EntityCount++;
            }

            Console.WriteLine($"Number of entities: {state.EntityCount}");
            for (int i = 1; i < 33; ++i)
            {
                var system = new PlayerInputSystem("PlayerInput", state);
                RunSystem(system, i);
            }
            state.ClearState();
        }
示例#16
0
        public void Rollback()
        {
            const float deltaTime      = 1f / 10f; // Running 10 FPS
            const float fixedDeltaTime = 1f / 5f;  // Fixed tick at 5 FPS

            var world = new World(EcsConfig.Default);

            var inputSystem    = new PlayerInputSystem();
            var movementSystem = new MovementSystem();

            var config = SimulationConfig.Default;

            config.FixedTick = fixedDeltaTime;

            var simulation = new ClientSimulation <SingletonInputComponent>(
                config: config,
                world: world,
                update:
                new Systems(world)
                .Add(inputSystem),
                fixedUpdate:
                new Systems(world)
                .Add(movementSystem));

            simulation.Create();

            var testDriver = new SimulationManagerTestDriver <SingletonInputComponent>(
                simulation,
                fixedDeltaTime);

            // Singleton input entity
            var entityInput = world.NewEntity();
            // Singleton player entity.
            var entityPlayer = world.NewEntity();

            entityPlayer.GetComponent <SingletonPlayerComponent>();
            ref var movement = ref entityPlayer.GetComponent <MovementComponent>();
 private void Start()
 {
     _playerInputSystem    = World.Active.GetOrCreateSystem <PlayerInputSystem>();
     _playerMovementSystem = World.Active.GetOrCreateSystem <PlayerMovementSystem>();
     _playerTurningSystem  = World.Active.GetOrCreateSystem <PlayerTurningSystem>();
 }
示例#18
0
 private void Start()
 {
     playerInputSystem    = World.Active.GetOrCreateSystem <PlayerInputSystem>();
     playerMovementSystem = World.Active.GetOrCreateSystem <PurePlayerMovementSystem>();
     cameraFollowSystem   = World.Active.GetOrCreateSystem <PureCameraFollowSystem>();
 }
示例#19
0
 public override void Init(Entity entity, GameObject entityGO)
 {
     thisEntity        = entity;
     abilitySystem     = AbilitySystem.instance;
     playerInputSystem = PlayerInputSystem.instance;
 }
示例#20
0
 private void OnEnable()
 {
     _system = (PlayerInputSystem)target;
 }