// Start is called before the first frame update
 void Start()
 {
     currentSlideState = SlideState.clean;
     currentGramState  = GramState.clean;
     hasBeenHeatFixed  = false;
     isCurrentlySoaked = false;
     currentLiquid     = SoakedLiquidType.None;
     thisSlideMaterial = GetComponent <Renderer>().material;
 }
    private void GramStateChange(Collider innoculation)
    {
        currentGramState = innoculation.gameObject.GetComponent <InnoculatingLoopBehaviour>().currentLoopState;

        if (currentGramState != GramState.clean)
        {
            thisSlideMaterial.color = Color.yellow;
            currentSlideState       = SlideState.smeared;
        }
    }
    void ChooseGramState(Collider smearedCollision)
    {
        if (smearedCollision.tag == "GramPositive")
        {
            currentLoopState = GramState.GramPositive;

            Debug.Log(currentLoopState);
        }
        else if (smearedCollision.tag == "GramNegative")
        {
            currentLoopState = GramState.GramNegative;
            Debug.Log(currentLoopState);
        }
        thisLoopMaterial.color = Color.yellow;
    }
 /// <summary>
 /// Cleans up the state of the Microscope once a slide has been removed.
 /// </summary>
 private void ResetMicroscopeState()
 {
     currentSlideStateMachine = null;
     loadedSlideGramState     = GramState.clean;
 }
    /// <summary>
    /// Reads data from Slide that has been placed into the microscope.
    /// </summary>

    private void RetrieveSlideInfo()
    {
        currentSlideStateMachine = GetComponentInChildren <VRTK_SnapDropZone>().GetCurrentSnappedObject();
        loadedSlideState         = currentSlideStateMachine.GetComponent <SlideStateMachine>().currentSlideState;
        loadedSlideGramState     = currentSlideStateMachine.gameObject.GetComponent <SlideStateMachine>().currentGramState;
    }
 private void Awake()
 {
     currentLoopState = GramState.clean;
 }