/// <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); } } }
/// <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; } } }