114 lines
2.8 KiB
C#
114 lines
2.8 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using HighlightPlus;
|
|
using UnityEngine.EventSystems;
|
|
using System;
|
|
|
|
/// <summary>
|
|
/// ³£×¤½»»¥
|
|
/// </summary>
|
|
public class PermanentTriggerBase : MonoBehaviour
|
|
{
|
|
public int triggerID;
|
|
public string triggerName;
|
|
public HighlightEffect _highlight;
|
|
|
|
/// <summary>
|
|
/// ´ò·Öʼþ
|
|
/// </summary>
|
|
private Action<string, object, int, int> scoreAction;
|
|
|
|
private void Awake()
|
|
{
|
|
OnAwake();
|
|
AddScoreAction(ScoreManager.instance.Check);
|
|
}
|
|
|
|
private void Start()
|
|
{
|
|
OnStart();
|
|
}
|
|
private void SwitchSubProcessStepTriggerID(string arg0)
|
|
{
|
|
if (triggerName == arg0)
|
|
{
|
|
_highlight.SetHighlighted(true);
|
|
}
|
|
else
|
|
{
|
|
_highlight.SetHighlighted(false);
|
|
}
|
|
|
|
}
|
|
/// <summary>
|
|
/// Awake
|
|
/// </summary>
|
|
protected virtual void OnAwake()
|
|
{
|
|
if (GetComponent<HighlightEffect>())
|
|
_highlight = GetComponent<HighlightEffect>();
|
|
GameManager.EventMgr.AddEventListener<string>(Enum_EventType.SwitchSubProcessStepTriggerID, SwitchSubProcessStepTriggerID);
|
|
}
|
|
/// <summary>
|
|
/// Start
|
|
/// </summary>
|
|
protected virtual void OnStart()
|
|
{
|
|
}
|
|
private void OnMouseEnter()
|
|
{
|
|
if (EventSystem.current.IsPointerOverGameObject()) return;
|
|
OnMEnter();
|
|
}
|
|
private void OnMouseDown()
|
|
{
|
|
if (EventSystem.current.IsPointerOverGameObject()) return;
|
|
OnMDown();
|
|
}
|
|
|
|
private void OnMouseExit()
|
|
{
|
|
if (EventSystem.current.IsPointerOverGameObject()) return;
|
|
OnMExit();
|
|
}
|
|
|
|
protected virtual void OnMEnter()
|
|
{
|
|
|
|
}
|
|
protected virtual void OnMDown()
|
|
{
|
|
|
|
}
|
|
protected virtual void OnMExit()
|
|
{
|
|
|
|
}
|
|
|
|
private void OnDestroy()
|
|
{
|
|
GameManager.EventMgr.RemoveEventListener<string>(Enum_EventType.SwitchSubProcessStepTriggerID, SwitchSubProcessStepTriggerID);
|
|
}
|
|
//private void OnDisable()
|
|
//{
|
|
// GameManager.EventMgr.RemoveEventListener<string>(Enum_EventType.SwitchSubProcessStepTriggerID, SwitchSubProcessStepTriggerID);
|
|
//}
|
|
|
|
public void AddScoreAction(Action<string, object, int, int> back)
|
|
{
|
|
this.scoreAction = back;
|
|
}
|
|
/// <summary>
|
|
/// µ÷Óôò·Ö¹¦ÄÜ
|
|
/// </summary>
|
|
/// <param name="para">²ÎÊý ĬÈϲ»´«</param>
|
|
/// /// <param name="triggerName">´¥·¢µÄÎïÌåʶ±ðºÅ ĬÈÏ´«×Ô¼ºµÄ</param>
|
|
/// <param name="systemcid">ϵͳid ĬÈϵ±Ç°ÏµÍ³</param>
|
|
/// <param name="shchmeid">¿ÆÄ¿id ĬÈϵ±Ç°¿ÆÄ¿</param>
|
|
public void CallScoreAction(object para=null ,string triggerName = null, int systemcid=0,int shchmeid=0)
|
|
{
|
|
scoreAction?.Invoke(triggerName==null?this.triggerName:triggerName, para, systemcid, shchmeid);
|
|
}
|
|
}
|