feat: 梦境门、热力图、身体模块与终端 UI 全流程逻辑
Made-with: Cursor
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -180,7 +180,7 @@ namespace AibisDream.FixSystem
|
||||
{
|
||||
HeatValue = targetHeatValue;
|
||||
|
||||
heatMapController.SetTemptureDirect(HeatValue);
|
||||
heatMapController?.SetTemptureDirect(HeatValue);
|
||||
}
|
||||
|
||||
public void ShowHeatMap()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using AibisDream.Framework;
|
||||
using Newtonsoft.Json;
|
||||
using UnityEngine;
|
||||
@@ -24,6 +24,11 @@ namespace AibisDream.FixSystem
|
||||
private Material _alarmMaterial;
|
||||
private Material _originalMaterial; // 原材质
|
||||
|
||||
/// <summary>
|
||||
/// Yarn 可能在 Start 里异步加载材质完成前就调用 ModuleHightLight,需记下来待加载后再套材质。
|
||||
/// </summary>
|
||||
private bool _wantsHighlight;
|
||||
|
||||
[SerializeField]
|
||||
private SpriteRenderer targetSpriteRenderer; // 目标的 SpriteRenderer
|
||||
|
||||
@@ -93,6 +98,8 @@ namespace AibisDream.FixSystem
|
||||
_alarmMaterial = alarmHandle.Result;
|
||||
else
|
||||
Debug.LogError("[BodyModule] Failed to load AlarmMaterial");
|
||||
|
||||
ApplyHighlightVisual();
|
||||
}
|
||||
|
||||
#region 插槽功能
|
||||
@@ -157,11 +164,16 @@ namespace AibisDream.FixSystem
|
||||
|
||||
public void Highlight(bool enable)
|
||||
{
|
||||
if (targetSpriteRenderer != null && _highlightMaterial != null &&
|
||||
targetSpriteRenderer.material != _alarmMaterial)
|
||||
{
|
||||
targetSpriteRenderer.material = enable ? _highlightMaterial : _originalMaterial;
|
||||
}
|
||||
_wantsHighlight = enable;
|
||||
ApplyHighlightVisual();
|
||||
}
|
||||
|
||||
private void ApplyHighlightVisual()
|
||||
{
|
||||
if (targetSpriteRenderer == null || _highlightMaterial == null) return;
|
||||
if (_alarmMaterial != null && targetSpriteRenderer.material == _alarmMaterial) return;
|
||||
|
||||
targetSpriteRenderer.material = _wantsHighlight ? _highlightMaterial : _originalMaterial;
|
||||
}
|
||||
|
||||
public void Alarm(bool enable)
|
||||
|
||||
Reference in New Issue
Block a user