religion/Assets/Scripts/抽象/GetDateBaseDead.cs
Roman eb0649bc20 任务:制作UI
1.制作玩家UI
(1.制作玩家血条UI
((1.作为一个独立的Canvas物体
((2.当检查到记录中血量和真实剩余血量不一样,重刷新血量UI
((3.保存子物体列表,一共10个爱心
((4.保存两张UI图片
((5.当触发重刷新UI,遍历10个爱心,把前Left个数的爱心换成红色,其他的换成白色
((6.将血条UI放置到每一个场景
(2.制作镰刀CDUI
((1.初始化时,获取玩家镰刀CD总时长
((2.当玩家发射镰刀,额外让玩家找到UI组件,并发送信号,触发Tween动画,以圆圈形式从0到1重显现CDUI
((3.适配到每一个场景

2.制作boss血条
(1.逻辑基本上与玩家的一致
(2.额外增加一个boss名字文字栏
(3.当Boss进入攻击状态,开始显示血条和名字

*优化和修复
1.镰刀攻击同时按卡动画
2.修复读板时按确定会出错的问题
3.修复疯狂发射镰刀会卡动画的问题
4.修复玩家死后着地会滑动的问题
5.修复了未开启开幕演出,死亡后报错的问题
6.修复各个场景玩家UI和专场块的遮挡问题

下班
2021-12-27 00:07:25 +08:00

42 lines
1.2 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using DG.Tweening;
/// <summary>
/// 获取死亡列表的时候用这个
/// </summary>
public class GetDateBaseDead : MonoBehaviour
{
public GameObject deadPlayer;
public List<DeadInfo> deadInfos;
public void Get(){
//将所有死亡信息拉到本地
deadInfos = GetComponent<PlayerInfo>().GetDeadInfo(SceneManager.GetActiveScene().buildIndex);
//筛选出10条
while(deadInfos.Count > 10){
deadInfos.RemoveAt(Random.Range(0,deadInfos.Count));
}
}
public void Show(){
if(deadInfos == null) deadInfos = new List<DeadInfo>();
//初始化所有死亡玩家
foreach(DeadInfo info in deadInfos){
//创建一个死亡玩家
GameObject temp = Instantiate(deadPlayer,info.postion,Quaternion.identity);
//根据信息初始化这个玩家
temp.transform.position = info.postion;
//淡入显示死亡玩家
temp.GetComponent<SpriteRenderer>().DOFade(
0.6f,
0.5f
);
}
}
}