コード例 #1
0
 public override void OnLoad(BinaryReader stream)
 {
     GridTransform = GetComponent <GridTransform>();
     GridTransform.ResetMovement();
     GridTransform.position = DataLoader.Load <Vector2Int>(stream);
     faceTo      = DataLoader.Load <Face>(stream);
     isKinematic = DataLoader.Load <bool>(stream);
     canPass     = DataLoader.Load <bool>(stream);
 }
コード例 #2
0
        /// <summary>
        ///     刷新移动判断
        /// </summary>
        private void UpdateMovement()
        {
            if (GridTransform.IsMoving || expectNextMoveDirection == null)
            {
                return;
            }

            faceTo = expectNextMoveDirection.Value;
            _currentMoveDirection = expectNextMoveDirection;

            var directionVector = FaceToVector(faceTo);

            if (!isKinematic &&
                !CanMoveIn(
                    GameMapManager.gameMapManager.InfoTilemap.GetTileInfo(GridTransform.position + directionVector)))
            {
                return;
            }
            GridTransform.Move(directionVector, 1 / speed);
            expectNextMoveDirection = null;
        }