Scope and Access Modifiers

Checked with version: 4

-

Difficulty: Beginner

Understanding variable & function scope and accessibility.

Scope and Access Modifiers

Beginner Scripting

ScopeAndAccessModifiers

Code snippet

using UnityEngine;
using System.Collections;

public class ScopeAndAccessModifiers : MonoBehaviour
{
    public int alpha = 5;
    
    
    private int beta = 0;
    private int gamma = 5;
    
    
    private AnotherClass myOtherClass;
    
    
    void Start ()
    {
        alpha = 29;
        
        myOtherClass = new AnotherClass();
        myOtherClass.FruitMachine(alpha, myOtherClass.apples);
    }
    
    
    void Example (int pens, int crayons)
    {
        int answer;
        answer = pens * crayons * alpha;
        Debug.Log(answer);
    }
    
    
    void Update ()
    {
        Debug.Log("Alpha is set to: " + alpha);
    }
}
#pragma strict

public var alpha : int = 5;


private var beta : int = 0;
private var gamma : int = 5;


private var myOtherClass : AnotherClass;


function Start ()
{
    alpha = 29;
    
    myOtherClass = new AnotherClass();
    myOtherClass.FruitMachine(alpha, myOtherClass.apples);
}


function Example (pens : int, crayons : int)
{
    var answer : int;
    answer = pens * crayons * alpha;
    Debug.Log(answer);
}


function Update ()
{
    Debug.Log("Alpha is set to: " + alpha);
}
import UnityEngine
import System.Collections


public class ScopeAndAccessModifiers(MonoBehaviour):

    public alpha = 5

    
    
    private beta = 0

    private gamma = 5

    
    
    private myOtherClass as AnotherClass

    
    
    private def Start():
        alpha = 29
        
        myOtherClass = AnotherClass()
        myOtherClass.FruitMachine(alpha, myOtherClass.apples)

    
    
    private def Example(pens as int, crayons as int):
        answer as int
        answer = ((pens * crayons) * alpha)
        Debug.Log(answer)

    
    
    private def Update():
        Debug.Log(('Alpha is set to: ' + alpha))

AnotherClass

Code snippet

using UnityEngine;
using System.Collections;

public class AnotherClass
{
    public int apples;
    public int bananas;
    
    
    private int stapler;
    private int sellotape;
    
    
    public void FruitMachine (int a, int b)
    {
        int answer;
        answer = a + b;
        Debug.Log("Fruit total: " + answer);
    }
    
    
    private void OfficeSort (int a, int b)
    {
        int answer;
        answer = a + b;
        Debug.Log("Office Supplies total: " + answer);
    }
}
#pragma strict

public var apples : int;
public var bananas : int;


private var stapler : int;
private var sellotape : int;


public function FruitMachine (a : int, b : int)
{
    var answer : int;
    answer = a + b;
    Debug.Log("Fruit total: " + answer);
}


private function OfficeSort (a : int, b : int)
{
    var answer : int;
    answer = a + b;
    Debug.Log("Office Supplies total: " + answer);
}
import UnityEngine
import System.Collections


public class AnotherClass:

    public apples as int

    public bananas as int

    
    
    private stapler as int

    private sellotape as int

    
    
    public def FruitMachine(a as int, b as int):
        answer as int
        answer = (a + b)
        Debug.Log(('Fruit total: ' + answer))

    
    
    private def OfficeSort(a as int, b as int):
        answer as int
        answer = (a + b)
        Debug.Log(('Office Supplies total: ' + answer))

Scripting

  1. Scripts as Behaviour Components
  2. Variables and Functions
  3. Conventions and Syntax
  4. C# vs JS syntax
  5. IF Statements
  6. Loops
  7. Scope and Access Modifiers
  8. Awake and Start
  9. Update and FixedUpdate
  10. Vector Maths
  11. Enabling and Disabling Components
  12. Activating GameObjects
  13. Translate and Rotate
  14. Look At
  15. Linear Interpolation
  16. Destroy
  17. GetButton and GetKey
  18. GetAxis
  19. OnMouseDown
  20. GetComponent
  21. Delta Time
  22. Data Types
  23. Classes
  24. Instantiate
  25. Arrays
  26. Invoke
  27. Enumerations
  28. Switch Statements
  1. Properties
  2. Ternary Operator
  3. Statics
  4. Method Overloading
  5. Generics
  6. Inheritance
  7. Polymorphism
  8. Member Hiding
  9. Overriding
  10. Interfaces
  11. Extension Methods
  12. Namespaces
  13. Lists and Dictionaries
  14. Coroutines
  15. Quaternions
  16. Delegates
  17. Attributes
  18. Events
  1. Introduction to ECS
  2. Introduction to the Entity Component System and C# Job System
  3. ECS Overview
  4. Implementing Job System
  5. Implementing ECS
  6. Using the Burst Compiler
  1. Building a Custom Inspector
  2. The DrawDefaultInspector Function
  3. Adding Buttons to a Custom Inspector
  4. Unity Editor Extensions – Menu Items
  5. An Introduction to Editor Scripting
  6. Creating a Spline Tool
  7. Getting Started with IK
  1. Simple Clock
  2. MonoDevelop's Debugger
  3. Unity Editor Extensions – Menu Items
  4. Creating Meshes
  1. Mastering Unity Project Folder Structure - Version Control Systems
  1. Installation and Setup of Visual Studio
  2. Editing Your Game Code with Visual Studio
  3. Debugging Unity games in Visual Studio
  1. Scripting Primer and Q&A
  2. Scripting Primer and Q&A - Continued
  3. Scripting Primer and Q&A - Continued (Again)
  4. Persistence - Saving and Loading Data
  5. Object Pooling
  6. Introduction to Scriptable Objects
  7. How to communicate between Scripts and GameObjects
  8. Coding in Unity for the Absolute Beginner
  9. Sound Effects & Scripting
  10. Editor Scripting Intro
  11. Writing Plugins
  12. Property Drawers & Custom Inspectors
  13. Events: Creating a simple messaging system
  14. Ability System with Scriptable Objects
  15. Character Select System with Scriptable Objects
  16. Creating Basic Editor Tools
  1. Intro and Setup
  2. Data Classes
  3. Menu Screen
  4. Game UI
  5. Answer Button
  6. Displaying Questions
  7. Click To Answer
  8. Ending The Game and Q&A
  1. Intro To Part Two
  2. High Score with PlayerPrefs
  3. Serialization and Game Data
  4. Loading Game Data via JSON
  5. Loading and Saving via Editor Script
  6. Game Data Editor GUI
  7. Question and Answer
  1. Overview and Goals
  2. Localization Data
  3. Dictionary, JSON and Streaming Assets
  4. Localization Manager
  5. Startup Manager
  6. Localized Text Component
  7. Localized Text Editor Script
  8. Localization Q&A
  1. Introduction and Session Goals
  2. Particle Launcher
  3. Particle Collisions
  4. ParticleLauncher Script
  5. Particle Collisions and Scripting
  6. Random Particle Colors
  7. Drawing Decals with Particles
  8. Collecting Particle Information For Display
  9. Displaying Particles Via Script
  10. Droplet Decals
  11. Questions and Answers
  1. Introduction and Goals
  2. Project Architecture Overview
  3. Creating Rooms
  4. Creating Exits
  5. Text Input
  6. Reacting To String Input
  7. Input Actions And The Delegate Pattern
  8. Questions and Answers
  1. Introduction and Goals
  2. Project Architecture and Review
  3. Displaying Item Descriptions
  4. Examining Items
  5. Taking Items
  6. Displaying Inventory
  7. Action Responses
  8. Preparing The Use Item Dictionary
  9. Creating The Use Action
  10. Questions and Answers