Accessing Terrain Colliders

Hello,

I want to access two different Terrain Colliders from another object. I tried retrieving them using Find with Tag or Find Game Object with Tag however I do receive lots of error messages:

Assets/OSCControl.cs(50,70): error CS0119: Expression denotes a type', where a variable’, value' or method group’ was expected

Assets/OSCControl.cs(50,56): error CS1503: Argument #1' cannot convert object’ expression to type `System.Type’

Assets/OSCControl.cs(50,56): error CS1502: The best overloaded method match for `UnityEngine.GameObject.GetComponent(System.Type)’ has some invalid arguments

The code looks like this:

using UnityEngine;
using System.Collections;
using LibPDBinding;
using System;
using System.Runtime.InteropServices;


public class OSCControl : MonoBehaviour 

{

	private TerrainCollider water1;
	private TerrainCollider water2;
	private GameObject waterobject1;
	private GameObject waterobject2;

	void Awake ()
	{
		waterobject1 = GameObject.FindWithTag("water1");
		waterobject2 = GameObject.FindWithTag("water2");
	}
	void Start ()
	{
		water1 = (TerrainCollider)waterobject1.GetComponent (TerrainCollider);
		water2 = (TerrainCollider)waterobject2.GetComponent (TerrainCollider);
		}

Your implementation of GetComponent is incorrect, you can use a generic version, a version that takes a string for the Type name or a type.

using UnityEngine;
using System.Collections;
using LibPDBinding;
using System;
using System.Runtime.InteropServices;


public class OSCControl : MonoBehaviour 

{

    private TerrainCollider water1;
    private TerrainCollider water2;
    private GameObject waterobject1;
    private GameObject waterobject2;

    void Awake ()
    {
        waterobject1 = GameObject.FindWithTag("water1");
        waterobject2 = GameObject.FindWithTag("water2");
    }
    void Start ()
    {
        water1 = (TerrainCollider)waterobject1.GetComponent<TerrainCollider>(); // or (TerrainCollider)waterobject1.GetComponent(typeof(TerrainCollider)); or (TerrainCollider)waterobject1.GetComponent("TerrainCollider");
        water2 = (TerrainCollider)waterobject2.GetComponent<TerrainCollider>(); // or (TerrainCollider)waterobject2.GetComponent(typeof(TerrainCollider)); or (TerrainCollider)waterobject2.GetComponent("TerrainCollider");
    }
		
}