public static void CreatePlayerInputConfig() { PlayerInputConfig config = ScriptableObject.CreateInstance <PlayerInputConfig>(); AssetDatabase.CreateAsset(config, "Assets/NewPlayerInputConfig.asset"); AssetDatabase.SaveAssets(); EditorUtility.FocusProjectWindow(); Selection.activeObject = config; }
public WorldPlayers( ReplicationConfig replicationConfig, PlayerInputConfig playerInputConfig, int capacity) { this._replicationDataPool = new PlayerReplicationDataPool(replicationConfig, capacity); this._playerInputsPool = new PlayerInputsPool( inputFrameCount: playerInputConfig.MaxFrameCount, capacity: capacity); this._playerIdToIndex = new Dictionary <PlayerId, int>(capacity); this._players = new WorldPlayer[capacity]; this._count = 0; }
public static void Update(PlayerInputConfig playerInputConfig, PlayerInputState playerInputState) { var wasJumpRequested = playerInputState.platformerState.isJumpRequested; playerInputState.platformerState.isJumpRequested = Input.GetKey(playerInputConfig.jumpCode); foreach (var pair in playerInputConfig.directions) { if (Input.GetKeyDown(pair.key)) { playerInputState.directions.AddFirst(pair.direction); } if (Input.GetKeyUp(pair.key)) { playerInputState.directions.Remove(pair.direction); } } var head = playerInputState.directions.First; var oldDirection = playerInputState.platformerState.walkDirection; playerInputState.platformerState.walkDirection = head == null ? PlatformerWalkDirection.None : head.Value; }
public void Initialize(InputController iController, int pId, Transform carryingPivot) { base.Awake(); inputController = iController; playerId = pId; carryingItem = null; playerActionState = EPlayerActionState.IDLE; this.carryingPivot = carryingPivot; PlayerInputConfig inputConfig = new PlayerInputConfig(); if (!AppConstant.Instance.isMultiPlayer) { inputConfig.horizontalAxis = InputAxisEnum.SinglePlayerHorizontal.Value; inputConfig.verticalAxis = InputAxisEnum.SinglePlayerVertical.Value; inputConfig.actionButton = InputAxisEnum.SinglePlayerAction.Value; } else { if (IsFirstPlayer()) { inputConfig.horizontalAxis = InputAxisEnum.Player1_Horizontal.Value; inputConfig.verticalAxis = InputAxisEnum.Player1_Vertical.Value; inputConfig.actionButton = InputAxisEnum.Player1_Action.Value; } else { inputConfig.horizontalAxis = InputAxisEnum.Player2_Horizontal.Value; inputConfig.verticalAxis = InputAxisEnum.Player2_Vertical.Value; inputConfig.actionButton = InputAxisEnum.Player2_Action.Value; } } inputController.inputConfig = inputConfig; nearbyInteractiveGameObjects = new HashSet <GameObject>(); }