Hi everyone,
Ive got some code here that utilises a dictionary construct. And in this dictionary construct i have specified a gameobject as the key type and a GENERIC list of type component as the value type. However i seem to be recieving some compile errors. I just want to make sure that i am using the types correctly… I am getting these sort of compile errors;
Insert “semi colon on line 1” (which i already have),and for line 8, i get 3 errors “expecting > found >>” ," expecting > found (“,” expecting ( found )"…
Also is looping over a dictionary the same as looping through a hashtable?
Thanks alot in advance
The code i have is here.
using System.Collections.Generic;
var componentsExtracted:Dictionary;
function Start ()
{
componentsExtracted = new Dictionary.<GameObject,List.<Component>>();
}
function findComponent(selectedObject:GameObject)
{
if(Input.GetKeyUp(KeyCode.E)) {
//RETRIEVES ALL COMPONENTS IN THE SELECTED OBJECT
var componentsFound:Component[] = selectedObject.GetComponents(typeof(Component));
//RETRIEVE A RANDOM COMPONENT
var component:Component = findRandomComponent(componentsFound);
//ADD COMPONENT TO WITH ORIGIN (GAMEOBJECT) REFERENCE TO DICTIONARY
addToDictionary();
}
}
private function findRandomComponent(componentsFound:Component[])
{
// INITIALISE COMPONENT CONTAINER
var chosenComponent:Component;
do
{
// RETRIEVES A RANDOM NUMBER
var ranNum:int = Random.Range(0,componentsFound.length);
// RETRIEVES A CHOSEN COMPONENT
chosentComponent = componentsFound[ranNum];
}
// WHILE COMPONENT IS NOT OF TRANSORM...PARTICLEEMITTER....(ADD MORE)
while((typeof(chosenComponent)!= Transform) && (typeof(chosenComponent)!= ParticleEmitter));
// RETURN RANDOM COMPONENT
return chosenComponent;
}
private function addToDictionary() {
}