Need help converting js to C#

hey guys I’m trying to convert a js script to a c# script because my movement system is in c# and it would be alot simpler if this function were in c# then to rescript my entire movement and combat system in js so I was wondering if someone could help me out…I’ve already done a good piece of it…I just need probably the last few lines (I’m having a hard time understanding exactly what Vectors are…that could have something to do with it)

ok this is the original js code

//vars for the whole sheet
var colCount    : int =  3;
var rowCount    : int =  4;

//vars for animation
var rowNumber   : int =  0; //Zero Indexed
var colNumber   : int =  0; //Zero Indexed
var totalCells  : int =  3;
var fps  : int = 10;
var offset  : Vector2;  //Maybe this should be a private var

//Update
function Update () { SetSpriteAnimation(colCount,rowCount,rowNumber,colNumber,totalCells,fps);  }

//SetSpriteAnimation
function SetSpriteAnimation(colCount : int,rowCount : int,rowNumber : int,colNumber : int,totalCells : int,fps : int){

    // Calculate index
    var index : int = Time.time * fps;
    // Repeat when exhausting all cells
    index = index % totalCells;
   
    // Size of every cell
    var size = Vector2 (1.0 / colCount, 1.0 / rowCount);
   
    // split into horizontal and vertical index
    var uIndex = index % colCount;
    var vIndex = index / colCount;
 
    // build offset
    // v coordinate is the bottom of the image in opengl so we need to invert.
    offset = Vector2 ((uIndex+colNumber) * size.x, (1.0 - size.y) - (vIndex+rowNumber) * size.y);
   
    renderer.material.SetTextureOffset ("_MainTex", offset);
    renderer.material.SetTextureScale  ("_MainTex", size);
}

and this is the C# code

using UnityEngine;
using System.Collections;

public class PlayerAnimation : MonoBehaviour 
{
	//vars
	int colcount = 3;
	int rowcount = 4;
	int rownum = 0;
	int colnum = 0;
	int totalcells = 3;
	int fps = 10;
	Vector2 offset;
	// Use this for initialization
	void Start () 
	{
	
	}
	
	// Update is called once per frame
	void Update () 
	{
		spriteanimation(colcount,rowcount,rownum,colnum,totalcells,fps);
	}
	
IEnumerator spriteanimation(int colcount,int rowcount,int rownum,int colnum,int totalcells,int fps)
	{
		float index = Time.time * fps;
		index = index % totalcells;
		
		int size = Vector2(1.0 / colcount, 1.0 / rowcount);
		
		float uindex = index % colcount;
		float vindex = index / colcount;
		
		offset = Vector2((uindex + colnum) * size.x, (1.0 - size.y) - (vindex+rownum) * size.y);
		
		renderer.material.SetTextureOffset ("_MainTex", offset);
		renderer.material.SetTextureScale ("_MainTex", size);
	}
}

Here you go:

using UnityEngine;
using System.Collections;

public class PlayerAnimation : MonoBehaviour 
{
   //vars 
	int colcount = 3; 
	int rowcount = 4; 
	int rownum = 0; 
	int colnum = 0; 
	int totalcells = 3; 
	int fps = 10; 
	Vector2 offset; 

	void Update () 
	{
	    spriteanimation(colcount,rowcount,rownum,colnum,totalcells,fps);
	}

	private void spriteanimation(int colCount,int rowCount,int rowNumber,int colNumber,int totalCells,int fps) 
	{ 
		// Calculate index
		int index = (int)(Time.time * (float)fps);
		// Repeat when exhausting all cells
		index = index % totalCells;
		
		// Size of every cell
		Vector2 size = new Vector2 (1.0f / colCount, 1.0f / rowCount);
		
		// split into horizontal and vertical index
		int uIndex = index % colCount;
		int vIndex = index / colCount;
		
		// build offset
		// v coordinate is the bottom of the image in opengl so we need to invert.
		offset = new Vector2 ((uIndex+colNumber) * size.x, (1.0f - size.y) - (vIndex+rowNumber) * size.y);
		
		renderer.material.SetTextureOffset ("_MainTex", offset);
		renderer.material.SetTextureScale  ("_MainTex", size);
	}	
}