public static void init_dctn_idx_2_lights() { //Debug.Log("init light dictionary"); Dictionary <int, List <GameObject> > res = new Dictionary <int, List <GameObject> >(); GameObject[] lamp_lights = GameObject.FindGameObjectsWithTag("lamp_light"); foreach (GameObject lamp_light in lamp_lights) { Lamp_Light_scpt lls = lamp_light.GetComponent <Lamp_Light_scpt>(); //Debug.Log(lls.idx); if (res.ContainsKey(lls.idx)) { res[lls.idx].Add(lamp_light); } else { List <GameObject> new_list = new List <GameObject>(); new_list.Add(lamp_light); res.Add(lls.idx, new_list); } } dctn_idx_2_lights = res; //Debug.Log(dctn_idx_2_lights); }
public void hit() { if (!has_played) { //Debug.Log("HIT"+this.idx); // MusicSource.Play(); Destroy(transform.Find("model3D").gameObject); has_played = true; //Debug.Log("turn on light:" + this.idx.ToString()); List <GameObject> lights = Lamp_Light_scpt.getlights(this.idx); foreach (GameObject light in lights) { flare_scpt fscpt = myPrefab.gameObject.GetComponent <flare_scpt>(); fscpt.beginpos = this.transform.position; fscpt.endpos = light.transform.position; fscpt.light_idx = this.idx; // GameObject flare = Instantiate(myPrefab, fscpt.beginpos, Quaternion.identity); } Lamp_Light_scpt.turn_on_lights(this.idx); } }
public static void turn_on_lights(int need_turn_on_idx) { if (!dctn_idx_2_lights.ContainsKey(need_turn_on_idx)) { Debug.Log("invalid need_turn_on_idx"); } List <GameObject> lights = dctn_idx_2_lights[need_turn_on_idx]; foreach (GameObject light in lights) { Lamp_Light_scpt lls = light.GetComponent <Lamp_Light_scpt>(); lls.turn_on(); } }
// Update is called once per frame void Update() { curtime = Time.time - begintime; float a = curtime / duration; if (a > 1) { a = 1; Lamp_Light_scpt.turn_on_lights(light_idx); } this.transform.position = (1 - a) * beginpos + a * endpos; //Debug.Log(this.transform.position); }
void Awake() { Lamp_Light_scpt lls = this.transform.Find("mark").Find("entity_holder").Find("lamp_lights").Find("Sphere").GetComponent <Lamp_Light_scpt>(); lls.idx = this.idx; }
private void Start() { //在整个游戏中只会运行一次的代码放在这里 Lamp_Light_scpt.init_dctn_idx_2_lights(); }