SAIPO 4e37998e72 *.合并了分支
1.处理了昨天提出的建议
 1)给第一个CG加上了音效,已经上传Coding
 2)给第一关添加了微弱的雨声
 3)触发老兵牺牲时添加了管弦乐
 4)发令员和敌人被吸引的音效已经裁剪完成,在Soundeffect文件夹里,罕见语音1-7
 5)添加了发报机启动和记录纸张被撕去的声音
 6)修正了第二关的视差组件
 7)稍微优化了第二关背景火光,但还需要再研究
 8)机枪开枪音效已经替换为更有力的
 9)修正了第二关夜晚的蟋蟀声音

2.二进制文件(音乐,图片等不能直接以文本表示的文件)无法参与分支合并,导致我这里程序改过的电报音乐还是之前的,建议以后处理这类文件直接添加新文件

3.对玩家回去看老兵事件的建议
  直接弹出对话
  1)......
  2)(肩章上面写着 八路军 中华民国28年度配用)
  3)可以休息了,同志。
  4)任务很紧急,要继续前进了。
2021-09-10 22:17:49 +08:00

95 lines
3.1 KiB
C#
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEditor;
using UnityEngine.Video;
using UnityEngine.InputSystem;
public class CGAdministrator : MonoBehaviour
{
// Start is called before the first frame update
//CG管理员相关代码
private RawImage rawImage;
[Tooltip("记录这个场景中的所有CG要加的话直接扩容数组并往新的CG里面加内容")][SerializeField]
private ACG[] CGs;
private IndexRecoder indexRecoder;
private ACG playingCG;//正在播放的CG因为invoke无法传参而存在
void Start()
{
rawImage = GetComponent<RawImage>();
indexRecoder = FindObjectOfType<IndexRecoder>();
rawImage.CrossFadeAlpha(0,0,true);//为了淡入显示必须先把它的阿尔法值降到0对吧
//好像可以让它自己找到所有CG
CGs = new ACG[transform.childCount];
for(int i = 0; i < transform.childCount; i++)
{
CGs[i] = transform.GetChild(i).GetComponent<ACG>();
}
//
//
//CallACG("暂用");
//
}
// Update is called once per frame
void Update()
{
}
//外部呼叫CG用传入你要调用的CG名
public void CallACG(string CGName)
{
//当外面叫了一个CG传入CG名
foreach(ACG CG in CGs)
{
//找到这个CG
if(CG.CGName.Equals(CGName))
{
Debug.Log("正在显示CG"+CG.name);
rawImage.texture = CG.texture;//把CG的内容装载上
rawImage.CrossFadeAlpha(1,indexRecoder.CGFadeTime,true);//淡入显示CG
playingCG = CG;
try
{
CG.GetComponent<VideoPlayer>().Play();//开始播放这个CG
FindObjectOfType<PlayerInput>().SwitchCurrentActionMap("NullMap");//使玩家无法操作
}
catch(System.NullReferenceException)
{
Debug.Log("播放CG失败看看赋值对不对");
}
Invoke("StopIt",CG.time);
}
}
}
//改变标记使管理员意识到CG该停了
private void StopIt(){rawImage.CrossFadeAlpha(0f,indexRecoder.CGFadeTime,true);//淡出CG
playingCG.OnEnded();}//告诉这个CG它结束了然后触发它的结束事件
// //制造一个只读的变量,不要动这些
// public class ReadOnlyAttribute : PropertyAttribute{}
// [CustomPropertyDrawer(typeof(ReadOnlyAttribute))]
// public class ReadOnlyDrawer : PropertyDrawer
// {
// public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
// {
// return EditorGUI.GetPropertyHeight(property, label, true);
// }
// public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
// {
// GUI.enabled = false;
// EditorGUI.PropertyField(position, property, label, true);
// GUI.enabled = true;
// }
// }
// //
}