예제 #1
0
        /// <summary>
        /// 显示GUI
        /// </summary>
        void OnGUI()
        {
            //仅当初始化完成
            if (isInit)
            {
                //联网
                if (GameMgr.instance)
                {
                    mCamera = getCamera.GetCurrentUsedCamera();
                }
                if (mCamera != null)
                {
                    //使命召唤风格
                    GUIUtil.DisplayMissionDetailDefault(
                        missionDetails,
                        mCamera,
                        GUIUtil.whiteColor,
                        wordTransparentInterval: wordTransparentInterval,
                        wordAppearanceInterval: wordAppearanceInterval,
                        lineSubsequentlyInterval: lineSubsequentlyInterval,
                        fontSize: fontSize);
                    //未遭遇
                    if (!isNear)
                    {
                        GUIUtil.DisplayMissionTargetInMessSequently("突入电源室!",
                                                                    mCamera,
                                                                    GUIUtil.whiteColor,
                                                                    0.5f, 0.1f, 16);
                        GUIUtil.DisplaySubtitleInGivenGrammar("^g地球指挥部^w:你们已经进入了电源室,你们需要开启电源,电源室才能正常运作。", mCamera, 16, 0.9f, 0.5f, 3.0f);
                    }
                    else//遭遇
                    {
                        //深度摄像头是否开启
                        bool open = playerCamera.GetComponent <depthSensor>().enabled;
                        GUIUtil.DisplayMissionTargetInMessSequently("任务变化:开启照明开关!",
                                                                    mCamera,
                                                                    GUIUtil.whiteColor,
                                                                    0.5f, 0.1f, 16);
                        if (!open)
                        {
                            GUIUtil.DisplaySubtitleInGivenGrammar("^w按^yH^w开启/关闭探测器", mCamera, 12, 0.7f);
                        }

                        GUIUtil.DisplaySubtitlesInGivenGrammar(line, mCamera, 16, 0.9f, 0.1f, 1.5f);
                    }
                    GUIUtil.DisplayMissionPoint(roomPos.position, mCamera, Color.white);
                }
            }
        }
예제 #2
0
        /// <summary>
        /// @brief 判断timeline播放阶段,生成AI,boss,激活玩家
        /// </summary>
        void Update()
        {
            if (getCamera != null)
            {
                mCamera = getCamera.GetCurrentUsedCamera();
            }
            if (!isTimelinePaused)//bool值作为flag
            {
                if (director.time > 30.0f)
                {
                    isTimelinePaused            = true;
                    trueBoss.transform.position = bossInitPos.position;
                    trueBoss.SetActive(true);

                    Destroy(boss.gameObject);
                    //动画位置同步
                    AIController.instance.AddAIObject(trueBoss);

                    foreach (var p in SceneNetManager.instance.list)
                    {
                        p.Value.GetComponent <ReactiveTarget>().CanBeHurt = true;
                        p.Value.SetActive(true);
                    }

                    AIController.instance.CreateAI(1, 0, "EnemyInitPos4", wanderAIAgentParams[4]);
                    AIController.instance.CreateAI(1, 0, "EnemyInitPos4", wanderAIAgentParams[5]);
                    AIController.instance.CreateAI(1, 0, "EnemyInitPos4", wanderAIAgentParams[6]);
                    AIController.instance.CreateAI(3, 2, "EnemyInitPos5", turretAIAgentParams);
                    AIController.instance.CreateAI(3, 1, "EnemyInitPos6", turretAIAgentParams);
                    AIController.instance.CreateAI(1, 0, "EnemyInitPos7", wanderAIAgentParams[0]);
                    AIController.instance.CreateAI(1, 0, "EnemyInitPos7", wanderAIAgentParams[1]);
                    AIController.instance.CreateAI(1, 0, "EnemyInitPos7", wanderAIAgentParams[2]);
                    AIController.instance.CreateAI(1, 0, "EnemyInitPos7", wanderAIAgentParams[3]);
                    AIController.instance.CreateAI(2, 2, "EnemyInitPos7", turretAIAgentParams);
                }
            }
            else//播放台词
            {
                if (!playOnce)
                {
                    playOnce    = true;
                    source.clip = clips[0];
                    source.Play();
                    source.priority = TimelineSource.priority + 1;
                }

                if (lastTimeInitAI >= 10.0f)
                {
                    AIController.instance.CreateAI(1, 0, "EnemyInitPos5", wanderAIAgentParams[3]);
                    AIController.instance.CreateAI(1, 0, "EnemyInitPos4", wanderAIAgentParams[4]);
                    lastTimeInitAI = 0.0f;
                }
                else
                {
                    lastTimeInitAI += Time.deltaTime;
                }
            }
            //TODO:测试,删除
            if (trueBoss == null)
            {
                if (!destoryBoss)
                {
                    openDoor_Room2();
                    mController.RPC(this, "openDoor_Room2");
                    destoryBoss = true;
                }
            }
        }