117 lines
3.4 KiB
C#
117 lines
3.4 KiB
C#
using HxGame.Data;
|
|
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.Events;
|
|
using UnityEngine.EventSystems;
|
|
using UnityEngine.UI;
|
|
|
|
public class UIJuBaoItem : UIBaseItem
|
|
{
|
|
public InputField txtID; //怪物ID
|
|
public InputField txtKillCount; //击杀数量
|
|
public InputField txtInterval; //间隔时间
|
|
public InputField txtCurCount; //当前数量
|
|
public InputField txtRefreshCount; //刷新数量
|
|
public InputField txtPos; //中心点坐标
|
|
public InputField txtRadius; //半径
|
|
|
|
|
|
|
|
public Button btnDel; //删除
|
|
public int itemIdx;
|
|
|
|
// Start is called before the first frame update
|
|
void Awake()
|
|
{
|
|
AddInputNameClickEvent(txtPos);
|
|
btnDel.onClick.AddListener(RemoveSelf);
|
|
itemIdx = 0;
|
|
}
|
|
|
|
private void AddInputNameClickEvent(InputField input) //可以在Awake中调用
|
|
{
|
|
var eventTrigger = input.gameObject.AddComponent<EventTrigger>();
|
|
UnityAction<BaseEventData> selectEvent = null;
|
|
|
|
selectEvent = OnInputFieldClicked;
|
|
|
|
EventTrigger.Entry onClick = new EventTrigger.Entry()
|
|
{
|
|
eventID = EventTriggerType.PointerClick
|
|
};
|
|
|
|
onClick.callback.AddListener(selectEvent);
|
|
eventTrigger.triggers.Add(onClick);
|
|
}
|
|
|
|
private void OnInputFieldClicked(BaseEventData data)
|
|
{
|
|
if (string.IsNullOrEmpty(txtID.text))
|
|
return;
|
|
if (string.IsNullOrEmpty(txtRadius.text))
|
|
return;
|
|
if (string.IsNullOrEmpty(txtKillCount.text))
|
|
return;
|
|
if (string.IsNullOrEmpty(txtInterval.text))
|
|
return;
|
|
if (string.IsNullOrEmpty(txtCurCount.text))
|
|
return;
|
|
if (string.IsNullOrEmpty(txtRefreshCount.text))
|
|
return;
|
|
|
|
UIWindow.Instance.uiJuBaosPanel.curActiveInput = data.selectedObject.GetComponent<InputField>();
|
|
MapManager.Instance.SetCurJuBaoCenterPoint(itemIdx, Convert.ToInt32(txtRadius.text), Convert.ToInt32(txtID.text));
|
|
MapManager.Instance.SetEditCellType(MapManager.EditCellType.JuBaoArea);
|
|
}
|
|
|
|
private void RemoveSelf()
|
|
{
|
|
DestroyImmediate(gameObject);
|
|
MapManager.Instance.RemoveMonsterPoint(itemIdx);
|
|
}
|
|
|
|
public bool CheckValid()
|
|
{
|
|
if (string.IsNullOrEmpty(txtID.text))
|
|
{
|
|
UIWindow.Instance.ShowMessage("请填写怪物ID");
|
|
return false;
|
|
}
|
|
if (string.IsNullOrEmpty(txtKillCount.text))
|
|
{
|
|
UIWindow.Instance.ShowMessage("请填写击杀数量");
|
|
return false;
|
|
}
|
|
|
|
if (string.IsNullOrEmpty(txtInterval.text))
|
|
{
|
|
UIWindow.Instance.ShowMessage("请填写间隔时间");
|
|
return false;
|
|
}
|
|
if (string.IsNullOrEmpty(txtCurCount.text))
|
|
{
|
|
UIWindow.Instance.ShowMessage("请填写当前数量");
|
|
return false;
|
|
}
|
|
if (string.IsNullOrEmpty(txtRefreshCount.text))
|
|
{
|
|
UIWindow.Instance.ShowMessage("请填写刷新数量");
|
|
return false;
|
|
}
|
|
if (string.IsNullOrEmpty(txtPos.text))
|
|
{
|
|
UIWindow.Instance.ShowMessage("请填写刷怪坐标");
|
|
return false;
|
|
}
|
|
if (string.IsNullOrEmpty(txtRadius.text))
|
|
{
|
|
UIWindow.Instance.ShowMessage("请填写刷怪半径");
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
}
|