70 lines
2.2 KiB
C#
Raw Normal View History

任务:替换美术素材、填充剧情 1.替换和实装美术素材 (1.制作基督小怪闪电动画 (2.替换镰刀CD贴图 (3.重做贵族动画 (4.添加交互按键提示,包含catching物体时浮现Y键,以及被缠抱时浮现摇杆转动动画 (5.实装特洛伊木马的召唤炸弹攻击的动画 (6.实装玩家鬼魂动画 2.填充剧情 *.新的演出继承自进入式触发器,OnCall内编写演出内容 *.村的开幕演出中额外补上:根据当前玩家进度开关事件碰撞体的功能 制作演出: (1.贵族之怒演出编写完毕 (2.农民之叹演出编写完毕 (3.爱欲之附演出编写完毕 (4.安拉之拉演出编写完毕 (5.以撒之童演出编写完毕 (6.那位大人演出编写完毕 *.修改村开幕演出逻辑,使开幕演出时根据进度显示和隐藏剧情的触发器 (7.修改地藏开场演出,让其开场先执行一次敲钟攻击,很帅 (8.修改伊斯兰前置关演出,加上神之对话 (9.修改以撒开幕演出,增加一小段展示段 *优化和修复 1.修复以撒大闪电多次判定的问题 2.修复只有佛教前置关有死亡记录显示的bug *.修复运行测试发现问题: 1.佛教前置关开幕演出走出太多 2.佛教前置关开幕演出角色名字没有替换 3.佛教前置关遮挡关系异常 4.伊斯兰前置关开幕演出走出太多 5.伊斯兰前置关忘记安排小怪 6.伊斯兰前置关隔间演出触发器不够高 7.基督前置关对话UI人物太大 8.读取留言板UI存在问题,需要在每个场景分别解决 9.伊斯兰前置关转移块颜色未改透明 10.增加以撒生命值 11.最终对话错别字 *.至此,游戏除了音乐音效部分基本完成,还差一些美术素材 *.进入最后阶段,调试和看修改结果时,务必调用当前场景的OnCall,否则可能触发深不可测的Bug *建议 1.给基督小怪的闪电添加shader 2.目前炸弹爆炸没有效果 下班
2021-12-28 00:35:00 +08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Cinemachine;
using Sirenix.OdinInspector;
using Fungus;
/// <summary>
/// 演出,贵族之怒
/// </summary>
public class NobleFury : Stage
{
[Header("贵族")]
public Transform noble;
[Header("宗教信徒")]
public NormalEnemy enemy;
private bool conversationEnd = false;
private bool conversationEnd1 = false;
private CinemachineVirtualCamera m_Camera;
protected override void Init(){
//找到必要的游戏物体和组件
base.Init();
m_Camera = FindObjectOfType<CinemachineVirtualCamera>();
}
protected override IEnumerator Main(){
yield return new WaitForEndOfFrame();
//让玩家停下来
player.inputDir = 0;
//让怪物停下来
enemy.GetComponent<Rigidbody2D>().constraints = RigidbodyConstraints2D.FreezeAll;
//镜头指向贵族
m_Camera.Follow = noble;
yield return new WaitForSeconds(1f);
//执行贵族踢人动画
noble.GetComponent<Animator>().SetBool("isKick",true);
//执行宗教小怪的死亡动画
enemy.GetComponent<Rigidbody2D>().constraints = RigidbodyConstraints2D.None;
enemy.OnBeHit(MyPlayer.AtkMethod.,-1);
yield return new WaitForSeconds(2f);
noble.GetComponent<Animator>().SetBool("isKick",false);
//Callfungus对话
Flowchart.BroadcastFungusMessage("贵族之怒");
yield return new WaitUntil(
() => {
return conversationEnd;
}
);
yield return new WaitForSeconds(1f);
noble.localScale = new Vector3(1,1,1);
yield return new WaitForSeconds(1f);
Flowchart.BroadcastFungusMessage("贵族对话");
yield return new WaitUntil(
() => {
return conversationEnd1;
}
);
//将摄像机重新对准玩家
m_Camera.Follow = player.transform;
//执行善后工作
StartCoroutine(base.Main());
}
public void ConversationEnd(){conversationEnd = true;}
public void ConversationEnd1(){conversationEnd1 = true;}
}