예제 #1
0
    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);
    }
예제 #2
0
    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);
        }
    }
예제 #3
0
    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();
        }
    }
예제 #4
0
    // 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);
    }
예제 #5
0
    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;
    }
예제 #6
0
 private void Start()
 {
     //在整个游戏中只会运行一次的代码放在这里
     Lamp_Light_scpt.init_dctn_idx_2_lights();
 }