彻底换一下

This commit is contained in:
tangbin
2025-07-18 22:28:40 +08:00
parent 66ed22e5e5
commit 95aec74d37
2275 changed files with 3034 additions and 140925 deletions

View File

@@ -1,16 +1,12 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using TMPro;
using UnityEngine;
using static MapManager;
using static UnityEditor.PlayerSettings;
public class SceneArea : MonoBehaviour
{
public EditCellType editCellType;
public int Idx;
public UIBaseItem baseItem { get; set; }
public EditCellType editCellType { get; set; }
public void SetSceneAreaData(EditCellType editCellType,int idx)
{
this.editCellType = editCellType;
@@ -19,24 +15,13 @@ public class SceneArea : MonoBehaviour
public void OnPointerClick()
{
Debug.Log($"ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...");
switch (editCellType)
{
case EditCellType.MonsterArea:
UIWindow.Instance.uiMonstersPanel.SelectMonsterPos(Idx);
break;
}
baseItem?.SetSelectPosItem();
}
public void OnPointerDrag(Vector3 mousePosition)
{
Vector2Int pos = MapManager.Instance.map.selector.GetMouseByCell();
SetAreaPos(pos);
switch (editCellType)
{
case EditCellType.MonsterArea:
UIWindow.Instance.uiMonstersPanel.UpdateMonsterPos(Idx,pos);
break;
}
baseItem?.SetItemPos(pos);
}
public void OnPointerUp()
@@ -48,4 +33,91 @@ public class SceneArea : MonoBehaviour
Vector3 realpos = MapManager.Instance.map.selector.getPosByGrid(pos);
transform.position = realpos;
}
public void SetAreaSize(int radius)
{
float scaleX = MapManager.Instance.map.sideWidth * radius * 2;
float scaleY = MapManager.Instance.map.sideHeight * radius * 2;
transform.localScale = new Vector3(scaleX, scaleY, 1);
}
public static SceneArea CreateSceneArea(UIBaseItem baseItem)
{
UnityEngine.GameObject obj = null;
Transform parentTrans = null;
switch (baseItem.editCellType)
{
case EditCellType.AudioTrigger:
obj = Resources.Load<GameObject>("Prefabs/audioTriggerCenterPoint");
parentTrans = MapManager.Instance.mapAudioTrigger;
break;
case EditCellType.MonsterArea:
obj = Resources.Load<GameObject>("Prefabs/monsterPoint");
parentTrans = MapManager.Instance.mapMonsterArea;
break;
case EditCellType.TriggerCell:
obj = Resources.Load<GameObject>("Prefabs/audioTriggerCenterPoint");
parentTrans = MapManager.Instance.mapAudioTrigger;
break;
case EditCellType.NpcCell:
obj = Resources.Load<GameObject>("Prefabs/npcPoint");
parentTrans = MapManager.Instance.mapNPCArea;
break;
case EditCellType.ReliveCell:
obj = Resources.Load<GameObject>("Prefabs/reliveCenterPoint");
parentTrans = MapManager.Instance.mapReliveArea;
break;
case EditCellType.TeleportCell:
obj = Resources.Load<GameObject>("Prefabs/teleportPoint");
parentTrans = MapManager.Instance.mapTeleportArea;
break;
}
if (obj == null) return null;
GameObject cellObj = GameObject.Instantiate(obj,parentTrans);
var area = cellObj.GetComponent<SceneArea>();
area.editCellType = baseItem.editCellType;
area.baseItem = baseItem;
baseItem.sceneArea = area;
area.RefSAreaInfo();
return area;
}
/// <summary>
/// ˢ<><CBA2><EFBFBD><EFBFBD>Ϣ
/// </summary>
public void RefSAreaInfo()
{
if (baseItem == null)
{
Debug.LogError($"SceneArea Error {editCellType}");
return;
}
switch (editCellType)
{
case EditCellType.AudioTrigger:
break;
case EditCellType.MonsterArea:
if (baseItem is UIMonsterItem monsterItem)
{
transform.Find("Name").GetComponent<TextMeshPro>().text = $"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>{monsterItem.monster.id}";
transform.Find("ID").GetComponent<TextMeshPro>().text = "ID:" + monsterItem.monster.id;
transform.Find("Num").GetComponent<TextMeshPro>().text = "Num:" + monsterItem.monster.num;
SetAreaSize(monsterItem.monster.radius);
}
break;
case EditCellType.TriggerCell:
break;
case EditCellType.NpcCell:
if (baseItem is UINpcItem npcItem)
{
transform.Find("ID").GetComponent<TextMeshPro>().text = "ID:" + npcItem.txtID.text;
}
break;
case EditCellType.ReliveCell:
break;
case EditCellType.TeleportCell:
break;
}
}
}