x


A namespace can only contain types and namespace declarations

Hey, guys. So I'm fairly new to Unity and to the C# language and am getting "error CS0116: A namespace can only contain types and namespace declarations" on line 63,14 which is this piece of code:

     void Update () {
         if(Input.GetKeyDown(KeyCode.Tab))
         {
             TargetEnemy();
         }
     }

I'm sure it's a simple solution, I just can't seem to figure it out! Here's the full code, if it's needed?

 enter code hereusing UnityEngine;
 using System.Collections;
 using System.Collections.Generic;
 
 public class Targetting : MonoBehaviour {
 public List<Transform> targets;
 private Transform myTransform;
 public Transform selectedTarget;
 
 // Use this for initialization
     void Start () {
     targets = new List<Transform>();
     selectedTarget = null;
     AddAllEnemies();
     myTransform = transform;
     }
     public void AddAllEnemies()
     {
     GameObject[] go = GameObject.FindGameObjectsWithTag("Enemy");
         foreach(GameObject enemy in go)
             AddTarget(enemy.transform);
     }
     public void AddTarget(Transform enemy) {
         targets.Add(enemy);
     }
     private void SortTargetsByDistance()
     {
     targets.Sort(delegate(Transform t1, Transform t2){
         return(Vector3.Distance(t1.position, myTransform.position).CompareTo(Vector3.Distance(t2.position, myTransform.position)));
         });
     }
 
     private void TargetEnemy()
     {
     if(selectedTarget == null){
     SortTargetsByDistance();
     selectedTarget = targets[0];
     }
     else{
         int index = targets.IndexOf(selectedTarget);
             if(index < targets.Count - 1){
             index++;
         }
     else{
         index = 0;
         }
     DeselectTarget();
     selectedTarget = targets[index];
     SelectTarget();
     }
 }
     private void SelectTarget(){
     selectedTarget.renderer.material.color = Color.red;
 }
     
     private void DeselectTarget(){
         selectedTarget.renderer.material.color = Color.blue;
     selectedTarget = null;
     }
 }
 // Update is called once per frame
 
     void Update () {
         if(Input.GetKeyDown(KeyCode.Tab))
         {
             TargetEnemy();
         }
 }
 

Thanks in advance.

more ▼

asked May 02, 2013 at 02:19 AM

suicidalcrow gravatar image

suicidalcrow
0 4 4 5

(comments are locked)
10|3000 characters needed characters left

2 answers: sort voted first
  1. I assume your actual code doesn't have "enter code here" as the first few characters?
  2. Looks like on line 51 you have an extra } that closes out the class, and then you have more code after that. This is most likely the cause of the error, but I'm not 100% sure because the code is hard to follow because of how you're indenting things.
  3. Do some research on a good, standard way to do indentation in your code. That will make it much easier to spot these sorts of things.
more ▼

answered May 02, 2013 at 02:24 AM

Dave Carlile gravatar image

Dave Carlile
7k 10 22 48

  1. Aha, no of course not, didn't realise that stayed in there when adding the script!
  2. Hmm, yeah I thought that at first but when I got rid of it a new error appeared for line 52?
  3. Yeah, sorry about the way it's structured. I'll do some research on good ways to do indentation in my code!
May 02, 2013 at 02:35 AM suicidalcrow
(comments are locked)
10|3000 characters needed characters left

Your Update function is outside the class declaration (and there are too many braces anyway). It's an extremely good idea to be consistent and not sloppy with spacing/layout, so this sort of thing can be seen at a glance.

more ▼

answered May 02, 2013 at 02:25 AM

Eric5h5 gravatar image

Eric5h5
113k 59 216 712

(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x10938
x3760
x115
x7
x2

asked: May 02, 2013 at 02:19 AM

Seen: 3282 times

Last Updated: May 02, 2013 at 03:34 AM