Search Unity

  1. Unity 2018.3 is now released.
    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. Want more efficiency in your development work? Sign up to receive weekly tech and creative know-how from Unity experts.
    Dismiss Notice
  4. Build games and experiences that can load instantly and without install. Explore the Project Tiny Preview today!
    Dismiss Notice
  5. Nominations have been announced for this years Unity Awards. Celebrate the wonderful projects made by your peers this year and get voting! Vote here!
    Dismiss Notice
  6. Want to provide direct feedback to the Unity team? Join the Unity Advisory Panel.
    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:
    41
    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:
    41
    Or maybe these aren't called variables.
     
  3. Ryiah

    Ryiah

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