Problem trying to convert a JS script to C#. The below JS has been converted to C#
JS
static function check_res(g:GameObject):float
{
var map:_mapObject = g.GetComponent("_mapObject");
var w2s = Camera().main.WorldToScreenPoint;
var m:MeshFilter = g.GetComponent(MeshFilter);
var mv:Vector3[] = m.mesh.vertices;
var t = g.transform.position;
var d = Vector3.Distance(w2s(mv[0]+t), w2s(mv[8]+t));
d += Vector3.Distance(w2s(mv[2]+t), w2s(mv[6]+t));
return d;
}
C#
public static float check_res(GameObject g)
{
_mapObject map= (_mapObject) g.GetComponent("_mapObject");
Camera w2s = new Camera().main.WorldToScreenPoint;
MeshFilter m= (MeshFilter)g.GetComponent(typeof(MeshFilter));
Vector3[] mv= m.mesh.vertices;
var t = g.transform.position;
var d = Vector3.Distance(w2s(mv[0]+t), w2s(mv[8]+t));
d += Vector3.Distance(w2s(mv[2]+t), w2s(mv[6]+t));
return d;
}
The issue is Static member UnityEngine.Camera.main’ cannot be accessed with an instance reference, qualify it with a type name instead`