Exemplo n.º 1
0
    public void CreatScene(List <SceneState1> sceneState1s1, Mode mode)
    {
        if (mode != one_mode)
        {
            if (parent_scene.childCount != 0)
            {
                for (int i = 0; i < parent_scene.childCount; i++)
                {
                    Destroy(parent_scene.GetChild(i).gameObject);
                }
            }
            for (int i = 0; i < sceneState1s1.Count; i++)
            {
                GameObject  go          = Instantiate(scene_prefab, parent_scene);
                string      str         = sceneState1s1[i].scene;
                SceneState1 sceneState1 = sceneState1s1[i];
                //scene_dic.Add(go, sceneState1);
                go.GetComponent <SceneDeduce>().sceneState1 = sceneState1;
                go.GetComponent <SceneDeduce>().resetState1 = RedCastleControl.Instance.resetState1s[i];
                go.GetComponent <SceneDeduce>().next_btn.GetComponent <Item>().name = sceneState1s1[i].phases[0].introduce;

                go.GetComponent <SceneDeduce>().Init();
            }
            one_mode = mode;
        }
    }
Exemplo n.º 2
0
    /// <summary>
    /// 重置
    /// </summary>
    public void Reset(GameObject go, SceneState1 sceneState1)
    {
        if (go.GetComponent <SceneDeduce>().num != 0)
        {
            if (sceneState1.scene == "飞跃")
            {
                UDPServer.Instance.SocketSendIP3("192.168.2.85", 6581, Dispose.strToToHexByte("EB BE 00 01 00 00 00 00 00 00 00"));
                UDPServer.Instance.SocketSendIP3("192.168.2.85", 6581, Dispose.strToToHexByte("EB BE 00 04 01 00 09 00 00 00 00"));
            }
            go.GetComponent <SceneDeduce>().num = 0;

            OneJudge(go, sceneState1);
        }
    }
Exemplo n.º 3
0
    /// <summary>
    /// 单场景演绎
    /// </summary>
    /// <param name="go"></param>
    /// <param name="sceneState1"></param>
    public void OneJudge(GameObject go, SceneState1 sceneState1)
    {
        int num = go.GetComponent <SceneDeduce>().num;

        if (num > (sceneState1.phases.Count - 1))
        {
            return;
        }

        for (int k = 0; k < sceneState1.phases[num].LightState.Count; k++)
        {
            LightStates lightStates = sceneState1.phases[num].LightState[k];
            StartCoroutine(Play0nClick(lightStates));
        }
        ///需要控制的播控盒列表
        for (int k = 0; k < sceneState1.phases[num].MovieStates.Count; k++)
        {
            MovieStates movieStates = sceneState1.phases[num].MovieStates[k];

            if (movieStates.movie_file == "0000")
            {
                StartCoroutine(BoxVolumeSub(movieStates, movieStates.isCycle));
            }
            else
            {
                StartCoroutine(BoxVolumeAdd(movieStates, movieStates.isCycle));
                if (movieStates.movie_ip == "192.168.2.234")
                {
                    StartCoroutine(Baozha(24));
                }
            }
        }
        float yizi = 0;

        ///需要控制的投影仪列表
        for (int k = 0; k < sceneState1.phases[num].projectStates.Count; k++)
        {
            ProjectStates projectStates = sceneState1.phases[num].projectStates[k];
            if (projectStates.project_name.Length > 3)
            {
                UDPServer.Instance.SocketSendIP3(projectStates.project_ip, 6581, strToToHexByte(projectStates.project_name));
                yizi = 4.5f;
            }
            else
            {
                if (projectStates.project_name == "000")
                {
                    UDPServer.Instance.SocketSendIP2(projectStates.project_ip, 3012, "PauseProject");
                }
                else
                {
                    UDPServer.Instance.SocketSendIP2(projectStates.project_ip, 3012, "PlayProject " + projectStates.project_name);
                }
            }
        }

        if (num < sceneState1.phases.Count - 1)
        {
            go.transform.Find("Next").GetComponent <Item>().name = sceneState1.phases[num + 1].introduce;
        }

        if (!sceneState1.phases[num].isStop)
        {
            go.GetComponent <SceneDeduce>().times = 0;
            if (yizi != 0)
            {
                go.GetComponent <SceneDeduce>().timer = yizi;
            }
            else
            {
                go.GetComponent <SceneDeduce>().timer = sceneState1.phases[num].time;
            }
            go.GetComponent <SceneDeduce>().isStop = true;
        }
        else
        {
            go.GetComponent <SceneDeduce>().times  = 0;
            go.GetComponent <SceneDeduce>().isStop = false;
        }
        num++;
        go.GetComponent <SceneDeduce>().num = num;
    }