강조 효과 활성화/비활성화 조건 수정

This commit is contained in:
정영민
2025-04-14 16:52:44 +09:00
parent 60105ef93d
commit 63acbb6b22
8 changed files with 346 additions and 630 deletions

View File

@@ -2,6 +2,7 @@ using UnityEngine;
using WI;
using CHN;
using System.Linq;
using System;
public class HighLighterManager : MonoBehaviour, ISingle
{
@@ -13,16 +14,6 @@ public class HighLighterManager : MonoBehaviour, ISingle
machines = building.floors.SelectMany(f => f.machines).ToArray();
}
public void ClickKPIToHighlight(UI_MachineKPI clickKPI)
{
foreach(var machine in machines)
{
if(machine.machineKPI == clickKPI)
{
ActiveHighLighter(machine);
}
}
}
public void ClickNotKPIToHighlight(Machine highLightMachine)
{
ActiveHighLighter(highLightMachine);

View File

@@ -15,7 +15,8 @@ namespace CHN
private OrbitalController cam;
private Machine[] machines;
private List<Machine> matchingMachines = new();
private SDictionary<string, UI_MachineKPI> machineKPIs = new();
private Dictionary<string, UI_MachineKPI> machineKPIs = new();
private Dictionary<UI_MachineKPI, Machine> kpiToMachines = new();
private List<UI_MachineKPI> kpis = new List<UI_MachineKPI>();
private UI_MachineKPI current_MachineKPI;
@@ -25,7 +26,7 @@ namespace CHN
public Vector3 originScale;
public float verticalSpacing = 100f;
public Action<UI_MachineKPI> onClickKPI;
public Action<Machine> onClickKPI;
[Range(0.1f, 0.8f)]
public float minScale;
@@ -42,6 +43,7 @@ namespace CHN
uiElements.Clear();
machineKPIs.Clear();
matchingMachines.Clear();
kpiToMachines.Clear();
cam = FindSingle<OrbitalController>();
prefab_MachineKPI = Resources.Load<UI_MachineKPI>("Prefabs/UI/PRF_UI_MachineKPI");
@@ -74,6 +76,7 @@ namespace CHN
var machinePos = machine.centerPos;
machine.machineKPI.transform.position = new Vector3(machinePos.x, machinePos.y + defaultNameHeight, machinePos.z);
matchingMachines.Add(machine);
kpiToMachines.Add(machine.machineKPI, machine);
machine.SetAnimationSpeed();
}
}
@@ -87,10 +90,11 @@ namespace CHN
machine.machineKPI.Shrink();
}
}
var currentMachine = kpiToMachines[machineKPI];
current_MachineKPI = machineKPI;
current_MachineKPI.Expand();
current_MachineKPI.transform.SetAsLastSibling();
onClickKPI?.Invoke(current_MachineKPI);
onClickKPI?.Invoke(currentMachine);
}
private void Update()
{