Error CS0118 on Unity "player is a namespace but a type has expected

1

Who can help me, I need so much. It's a project for a game on Unity 2d:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//using player ;
//using Monobehaviour;
namespace player
{
}
namespace teste {


abstract class pl2  {
}   

}


 //namespace Monobehaviour{
namespace Player {


//public class Player : Monobehaviour{


public class player2 {

    //pl1  player = new Player ();


    player2 pl = new pl2 () ;


    void OnTriggerEnter2D(Collider2D other){

        if(other.gameObject.tag == "Player"){
            other.gameObject.GetComponent<Player>().alive = false;
            Time.timeScale = 0; 
        }
    }


    void Start () {
        Time.timeScale = 1;

        pauseObjects = GameObject.FindGameObjectsWithTag("ShowOnPause");            //gets all objects with tag ShowOnPause
        finishObjects = GameObject.FindGameObjectsWithTag("ShowOnFinish");          //gets all objects with tag ShowOnFinish

        hidePaused();
        hideFinished();

        if(Application.loadedLevelName == "MainLevel")
            playerController = GameObject.FindGameObjectWithTag("Player").GetComponent<Player>();
    }


    void Update () {

        if(Input.GetKeyDown(KeyCode.P)){
            if(Time.timeScale == 1 && player.alive == true){
                Time.timeScale = 0;
                showPaused();
            } else if (Time.timeScale == 0 && player.alive == true){
                Time.timeScale = 1;
                hidePaused();
            }
        }
    }

    public void Reload(){
        Application.LoadLevel(Application.loadedLevel);
    }


    public void pauseControl(){
        if(Time.timeScale == 1){
            Time.timeScale = 0;
            showPaused();
        } else if (Time.timeScale == 0){
            Time.timeScale = 1;
            hidePaused();
        }
    }

    public void showPaused(){
        foreach(GameObject g in pauseObjects){
            g.SetActive(true);
        }
    }

    //hides objects with ShowOnPause tag
    public void hidePaused(){
        foreach(GameObject g in pauseObjects){
            g.SetActive(false);
        }
    }

    //shows objects with ShowOnFinish tag
    public void showFinished(){
        foreach(GameObject g in finishObjects){
            g.SetActive(true);
        }
    }

    //hides objects with ShowOnFinish tag
    public void hideFinished(){
        foreach(GameObject g in finishObjects){
            g.SetActive(false);
        }
    }

    //loads inputted level
    public void LoadLevel(string level){
        Application.LoadLevel(level);
    }       



    GameObject [] pauseObjects;
    GameObject [] finishObjects;
    player Player;

    }


    }
    
asked by anonymous 14.09.2017 / 23:56

1 answer

0

You created a namespace player and did not put even a class inside, you will never be able to create a variable from a namespace. Was not to be player2 instead of player? For you must have written wrong. and you'll never be able to put that script in a gameobject because it does not inherit from MonoBehaviour. You modify from public class player2 to public class player2 : MonoBehaviour . Here's the code ready:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace teste {

namespace Player {

public class player2 : MonoBehaviour {


player2 pl = new pl2 () ;


void OnTriggerEnter2D(Collider2D other){

    if(other.gameObject.tag == "Player"){
        other.gameObject.GetComponent<Player>().alive = false;
        Time.timeScale = 0; 
    }
}


void Start () {
    Time.timeScale = 1;

    pauseObjects = GameObject.FindGameObjectsWithTag("ShowOnPause");            //gets all objects with tag ShowOnPause
    finishObjects = GameObject.FindGameObjectsWithTag("ShowOnFinish");          //gets all objects with tag ShowOnFinish

    hidePaused();
    hideFinished();

    if(Application.loadedLevelName == "MainLevel")
        playerController = GameObject.FindGameObjectWithTag("Player").GetComponent<Player>();
}


void Update () {

    if(Input.GetKeyDown(KeyCode.P)){
        if(Time.timeScale == 1 && player.alive == true){
            Time.timeScale = 0;
            showPaused();
        } else if (Time.timeScale == 0 && player.alive == true){
            Time.timeScale = 1;
            hidePaused();
        }
    }
}

public void Reload(){
    Application.LoadLevel(Application.loadedLevel);
}


public void pauseControl(){
    if(Time.timeScale == 1){
        Time.timeScale = 0;
        showPaused();
    } else if (Time.timeScale == 0){
        Time.timeScale = 1;
        hidePaused();
    }
}

public void showPaused(){
    foreach(GameObject g in pauseObjects){
        g.SetActive(true);
    }
}

//hides objects with ShowOnPause tag
public void hidePaused(){
    foreach(GameObject g in pauseObjects){
        g.SetActive(false);
    }
}

//shows objects with ShowOnFinish tag
public void showFinished(){
    foreach(GameObject g in finishObjects){
        g.SetActive(true);
    }
}

//hides objects with ShowOnFinish tag
public void hideFinished(){
    foreach(GameObject g in finishObjects){
        g.SetActive(false);
    }
}

//loads inputted level
public void LoadLevel(string level){
    Application.LoadLevel(level);
}       



GameObject [] pauseObjects;
GameObject [] finishObjects;
player2 Player;

}


}
    
15.09.2017 / 00:04