Token error

Lazc_coding 41 Reputation points
2022-09-19T14:39:45.627+00:00

I got this error message when I tried to run my code; Assets\Player_Controller.cs(13,28): error CS1519: Invalid token '=' in class, record, struct, or interface member declaration

Can anyone please tell me how to fix this.

using System.Collections;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Threading;
using UnityEngine;
using UnityEngine.InputSystem;

//Takes and handles input and movement for a player character
public class NewBehaviourScript : MonoBehaviour
{

public float moveSpeed = 1f;  
public collisionOffset = 0.05f;  
public ContactFilter2D movementFilter;  


Vector2 movementInput;  

Rigidbody2D rb;  

List<RaycastHit2D> castCollision = new List<RaycastHit2D>();  

// Start is called before the first frame update  
void Start()  
{  
    rb = GetComponent<Rigidbody2D>();  
}  

private void FixedUpdate() {  
    // If movement input is not 0, try to move  
    if (movementInput != Vector2.ZERO){  
        bool success = TryMove(movementInput);  

        if (!success) {  
            success = TryMove(new Vector2(movementInput.x, 0));  

            if (!success) {  
                success = TryMove(new Vector2(0, movementInput.y));  
            }  
        }  
    }  
}  

private bool TryMove(Vector2 direction) {  
    // Check for potential collisions  
    int count = rb.Cast(  
        direction, // X and Y valuses between -1 and 1 that represent the direction from the body to look for collisions  
        movementFilter, // The settings that determine where a collision can occur on such as layer to collide with  
        castCollisions, // List of collisions to store teh found collisions into after the Cast is finished  
        moveSpeed * Time.fixedDeltaTime + collisionOffset); // The amount to cast equal to teh movement plus and offset  

    if (count == 0) {  
        rb.MovePosition(rb.position + direction * moveSpeed * Time.fixedDeltaTime);  
        return true;  
    } else {  
        return false;  
    }  
}  



void OnMove(InputValue movementValue)  
{  
    movementInput = movementValue.Get<Vector2>();  
}  

}

Windows for business Windows Client for IT Pros User experience Other
0 comments No comments
{count} votes

Accepted answer
  1. Michael Taylor 60,161 Reputation points
    2022-09-19T14:49:57.54+00:00

    The error tells you everything you need to know. Assets\Player_Controller.cs(13,28): error CS1519: Invalid token '=' in class,

    In the Player_Controller.cs file on line 13 you have a = that is invalid for C#. The code you posted doesn't appear to be in that file. However the code you posted seems to have an error here: public collisionOffset = 0.05f; You're missing the type information.

       public float collisionOffset = 0.05f;  
    
    0 comments No comments

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.