Search Unity

  1. Improved Prefab workflow (includes Nested Prefabs!), 2D isometric Tilemap and more! Get the 2018.3 Beta now.
    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. Let us know a bit about your interests, and if you'd like to become more directly involved. Take our survey!
    Dismiss Notice
  4. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice
  5. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

Basic Noob Question About C#

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

  1. BillyBobBeavis

    BillyBobBeavis

    Joined:
    Oct 13, 2018
    Posts:
    3
    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:
    3
    Or maybe these aren't called variables.
     
  3. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    12,310
    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:
    3
    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.