这个作业属于哪个课程 | 软件工程A |
---|---|
这个作业要求在哪里 | 团队作业–站立式会议+alpha冲刺 |
作业目标 | 记录alpha冲刺Day3 |
团队名称 | 橘色肥猫 |
团队置顶集合随笔链接 | Alpha冲刺笔记-置顶-橘色肥猫-CSDN博客 |
目录
站立式会议照片
项目燃尽图
项目程序/模块的最新运行图片/gif/视频
判断一个物品是否被点击
slotUI.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class SlotUI : MonoBehaviour, IPointerClickHandler, IPointerEnterHandler,IPointerExitHandler
{
public Image itemImage;
public ItemDetails currentItem;
private bool isSelected;
public ItemTooltip tooltip;
public void SetItem(ItemDetails itemDetails)
{
currentItem = itemDetails;
this.gameObject.SetActive(true);
itemImage.sprite = itemDetails.itemSprite;
itemImage.SetNativeSize();
}
public void SetEmpty()
{
this.gameObject.SetActive(false);
isSelected = false;
}
public void OnPointerClick(PointerEventData eventData)
{
isSelected = !isSelected;
EventHandler.CallItemSelectedEvent(currentItem, isSelected);
}
public void OnPointerEnter(PointerEventData eventData)
{
if(this.gameObject.activeInHierarchy)
{
tooltip.gameObject.SetActive(true );
tooltip.UpdateItemName(currentItem.itemName);
}
}
public void OnPointerExit(PointerEventData evenData)
{
tooltip.gameObject.SetActive(false);
}
}
一个物品被调用的方法
EventHandler.cs
using System;
using UnityEngine;
public class EventHandler : MonoBehaviour
{
public static event Action<ItemDetails, int> UpdateUIEvent;
public static void CallUpdateUIEvent(ItemDetails itemDetails,int index)
{
UpdateUIEvent?.Invoke(itemDetails, index);
}
public static event Action BeforeSceneUnloadEvent;
public static void CallBeforeSceneUnloadEvent()
{
BeforeSceneUnloadEvent?.Invoke();
}
public static event Action AfterSceneloadEvent;
public static void CallAfterSceneUnloadEvent()
{
AfterSceneloadEvent?.Invoke();
}
public static event Action<ItemDetails, bool> ItemSelectedEvent;
public static void CallItemSelectedEvent(ItemDetails itemDetails,bool isSelected)
{
ItemSelectedEvent?.Invoke(itemDetails, isSelected);
}
public static event Action<ItemName> ItemUsedEvent;
public static void CallItemUsedEvent(ItemName itemName)
{
ItemUsedEvent?.Invoke(itemName);
}
public static event Action<int> ChangeItemEvent;
public static void CallChangeItemEvent(int index)
{
ChangeItemEvent?.Invoke(index);
}
public static event Action<string> ShowDialogueEvent;
public static void CallShowDialogeEvent(string diague)
{
ShowDialogueEvent?.Invoke(diague);
}
}
保存物品
TransitionManager.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class TransitionManager : Singleton<TransitionManager>
{
[SceneName] public string startScene;
public CanvasGroup fadeCanvasGroup;
public float fadeDuration;
private bool isFade;
public void Transition(string from, string to)
{
if (!isFade)
StartCoroutine(TransitionToScene(from, to));
}
private IEnumerator TransitionToScene(string from, string to)
{
yield return Fade(1);
yield return SceneManager.UnloadSceneAsync(from);
yield return SceneManager.LoadSceneAsync(to, LoadSceneMode.Additive);
Scene newScene = SceneManager.GetSceneAt(SceneManager.sceneCount - 1);
SceneManager.SetActiveScene(newScene);
yield return Fade(0);
}
private IEnumerator Fade(float targetAlpha)
{
isFade = true;
fadeCanvasGroup.blocksRaycasts = true;
float speed = Mathf.Abs(fadeCanvasGroup.alpha - targetAlpha) / fadeDuration;
while (!Mathf.Approximately(fadeCanvasGroup.alpha, targetAlpha))
{
fadeCanvasGroup.alpha = Mathf.MoveTowards(fadeCanvasGroup.alpha, targetAlpha, speed * Time.deltaTime);
yield return null;
}
fadeCanvasGroup.blocksRaycasts = false;
isFade = false;
}
}
成员描述
102101208涂欣雨 昨天站立式会议到现在的进展:完善了第二部分游戏场景的切换顺序,增加了对游戏按键的功能描述 存在的问题/遇到的困难:游戏场景素材不够 今天到明天会议的安排:继续梳理游戏场景的切换顺序,细化游戏线索 心得体会:今天根据剧本完善了第二部分游戏场景的切换顺序,增加了对游戏按键的功能描述,同时在其他同学的协助下找齐了游戏场景素材,进展顺利。
102101209颜一虹 昨天站立式会议到现在的进展:完善了第二部分场景切换顺序,增加了对游戏按键的功能描述 存在的问题/遇到的困难:场景素材不足 今天到明天会议的安排:继续捋顺游戏场景的切换顺序 心得体会:今天根据游戏剧情进一步完善了第二部分游戏场景的切换顺序,配合其他组员查找场景素材,进展顺利。
112100237 辜智荣
今天根据找到的图片进行了解谜情节的设计,通过流程图解决了剧情之间衔接的问题
102103135张文峰
昨天站立式会议到现在的进展:在帮助下实现了背包的具体UI以及如何保存场景中的元素 存在的问题/遇到的困难:接口定义频繁修改,初期准备不充分很多特性不懂 今天到明天会议的安排:完善一个物品的互动逻辑。 心得体会:对于一个可以互动的物品,要对其做好标签分类,同时初期一定要完善好接口传递元素