Getting wrong value of variable
HEY, HOW'S IT GOING, BUDDYS? 
 I need some your help today. All in all, I have 3 main scripts: globalvariables.cs (where I save all my global variables), onTreeClicked.cs (event when I click on button) and CoinExchange.cs (also event when I click on button). All other scripts doesn't really have a matter. 
 
 I'll try explain what they do. In my first script (globalvariables.cs) I save all my global varibles:
globalvaribles.cs
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
 
 public class globalvariables : MonoBehaviour {
     public int Wood;                // Creating a Wood variable
     public int Coin;                // Creating a Coin variable
 }
 
 Then I take them to my second script (onTreeClicked.cs). I'mma left screenshot with comments what every line do. 
 I add 1 to Wood a click. And as I can understand it changes it's value from default. (in my globalvariables I dont say that Wood = 0 or smth. So I reckon that when I add 5 to Wood it equals 5.)
onTreeClicked.cs
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
 
 public class onTreeClicked : globalvariables {          // Getting all variables from globalvariables script
 
     private Shake shake;                    // Variable for Camera Shaking
     private Hit hit;                        // Varible for hit
     private ParticleSystem woodeffect;      // Wood icon appears above the tree
     private ParticleSystem pluseffect;      // 'plus effect' next to wood icon
     private Text woodcount;                 // Wood count text
     private Text coincount;                 // Coin count text
 
     void Start () {
         shake = GameObject.FindGameObjectWithTag("ScreenShake").GetComponent<Shake>();                      // Getting Components//
         hit = GameObject.FindGameObjectWithTag("Player").GetComponent<Hit>();                               //*******************//
         woodeffect = GameObject.FindGameObjectWithTag("woodeffect").GetComponent<ParticleSystem>();         //*******************//
         pluseffect = GameObject.FindGameObjectWithTag("pluseffect").GetComponent<ParticleSystem>();         //*******************//
         woodcount = GameObject.FindGameObjectWithTag("woodcount").GetComponent<Text>();                     //*******************//
         coincount = GameObject.FindGameObjectWithTag("coincount").GetComponent<Text>();                     // Getting Components//
 
 
         woodcount.text = Wood.ToString();           // Display start Wood value
         coincount.text = Coin.ToString();           // Display start Coin value
         pluseffect.Stop();                          // Stoping plus effect
         woodeffect.Stop();                          // Stoping wood effect
         
     }
 
 
     public void OnButtonTapped()                    // onClick function
     {
         shake.camShake();                           // Shake animation activated
         hit.charHit();                              // Hit animation activated
         Wood++;                                     // Add 1 to Wood variable
         woodcount.text = Wood.ToString();           // Show new value of wood
         woodeffect.Play();                          // Playing wood effect
         pluseffect.Play();                          // Playing plus effect
         
 
 
     }
 
 
 
     void Update () {
         
     }
 }

 In my third script (CoinExchange) I wanna exchange wood for coins (1 coin = 5 wood). But when I tryna get Wood varible from onTreeClicked.cs (that must equal some value) I get 0. I mean, when I'm checking Wood variable it equals 0. 
CoinExchange.cs
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
 
 public class CoinExchange : onTreeClicked {             // Getting variables from onTreeClicked.cs 
 
     private Text coincount;                 // Coin count text
 
     void Start (){
         coincount = GameObject.FindGameObjectWithTag("coincount").GetComponent<Text>();                     // Getting Components//
     }
 
     void Update (){
         
     }
 
     public void Exchange()                  // onClick event
     {
         Debug.Log(Wood);                    // Checking Wood value        
     }
 
 
 }
 
Guys, I'm asking for your help. Every answer will be appreciated.
Answer by squadO · Sep 24, 2018 at 06:22 PM
I have found solution. I only need to use static variable.
Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                