Search Unity

  1. Unity 2019.1 beta is now available.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. We're looking for insight from anyone who has experience with game testing to help us better Unity. Take our survey here. If chosen to participate you'll be entered into a sweepstake to win an Amazon gift card.
    Dismiss Notice
  4. On February 28th the Feedback website will shut down and be redirected to the Unity forums. See the full post for more information.
    Dismiss Notice
  5. Want to provide direct feedback to the Unity team? Join the Unity Advisory Panel.
    Dismiss Notice
  6. Unity 2018.3 is now released.
    Dismiss Notice
  7. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice

Basic Noob Question About C#

Discussion in 'Scripting' started by BillyBobBeavis, Oct 13, 2018.

  1. BillyBobBeavis

    BillyBobBeavis

    Joined:
    Oct 13, 2018
    Posts:
    51
    I'm curious as to why the definition of a variable needs to be stated twice. For instance:

    public GUISkin skin;

    //then:

    void OnGUI()
    {
    GUISkin = skin
    }

    //or:

    public scoreLevel manager;

    //then:

    void Start()
    {
    manager = manager.GetComponent<scoreLevel>();
    }
     
  2. BillyBobBeavis

    BillyBobBeavis

    Joined:
    Oct 13, 2018
    Posts:
    51
    Or maybe these aren't called variables.
     
  3. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    13,072
    It doesn't and in fact it isn't being defined twice.

    Here you are defining the variables.

    Here you are setting the values they contain (technically the GUISkin one is a bit odd - I'm fairly certain that's supposed to be GUI.skin).

    Technically they're variables but officially they're known as fields because they belong to the class (or struct) definition.

    https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/fields
     
  4. BillyBobBeavis

    BillyBobBeavis

    Joined:
    Oct 13, 2018
    Posts:
    51
    Yes, it's GUI.skin. I copied and pasted it. I don't know how it was changed because it's that way in the code. Weird. Thanks for the reply. I don't know enough about code yet to fully understand your answer but you've given me something that may click into place later.