void GeneralActivation(AIDirector.stage stage, ScareData.minorScareTimes minScare, ScareData.majorScareTimes majScare, ScareData.comedyTimes comedy) { string prefabPath = "Assets/AI/Scares/"; string timerMethod = "Set"; switch (stage) { case AIDirector.stage.minorScare: prefabPath += "MinorScaresPrefabs/" + MIN_SCARE_NAMES + minScare.ToString(); timerMethod += "Min"; break; case AIDirector.stage.majorScare: prefabPath += "MajorScaresPrefabs/" + MAJ_SCARE_NAMES + majScare.ToString(); timerMethod += "Maj"; break; case AIDirector.stage.comedy: prefabPath += "ComedyPrefabs/" + comedy.ToString(); timerMethod += "Com"; break; } prefabPath += ".prefab"; timerMethod += "TimerAndType"; Vector3 scarePosition = new Vector3(0, 0, 0); Quaternion scareRotation = new Quaternion(0, 0, 0, 0); GameObject scare = new GameObject(); Object prefab = AssetDatabase.LoadAssetAtPath(prefabPath, (typeof(GameObject))) as GameObject; scare = (GameObject)Instantiate(prefab, scarePosition, scareRotation); scare.AddComponent <ScareData> (); switch (stage) { case AIDirector.stage.minorScare: scare.GetComponent <ScareData> ().SendMessage(timerMethod, minScare, SendMessageOptions.DontRequireReceiver); break; case AIDirector.stage.majorScare: scare.GetComponent <ScareData> ().SendMessage(timerMethod, majScare, SendMessageOptions.DontRequireReceiver); break; case AIDirector.stage.comedy: scare.GetComponent <ScareData> ().SendMessage(timerMethod, comedy, SendMessageOptions.DontRequireReceiver); break; default: break; } scare.transform.position = FindScarePosition(scare.GetComponent <ScareData> ().Type); CreateHierarchy(scare); //activeScares.Add (scare); }