50 lines
1.5 KiB
C#
50 lines
1.5 KiB
C#
using DG.Tweening;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics.Contracts;
|
|
using UnityEngine;
|
|
|
|
public class Tool_WorkCard_UpAndDown : Tool_Base
|
|
{
|
|
private bool isInstalled;
|
|
|
|
protected override void OnMDown()
|
|
{
|
|
base.OnMDown();
|
|
Remove();
|
|
}
|
|
|
|
public void Add(DeviceTrigger deviceTrigger)
|
|
{
|
|
transform.parent = null;
|
|
hand_out_action?.Invoke();
|
|
transform.eulerAngles = deviceTrigger.transform.eulerAngles;
|
|
transform.DOMove(deviceTrigger.transform.position, 1).OnComplete(() =>
|
|
{
|
|
isInstalled = true;
|
|
transform.GetComponent<BoxCollider>().enabled = true;
|
|
LiveSceneManager.Instance.OnCheckSubProcess(false);
|
|
triggerAction?.Invoke(deviceTrigger.triggerName, true);
|
|
CallScoreAction(true, deviceTrigger.triggerName);
|
|
});
|
|
}
|
|
public void Remove()
|
|
{
|
|
if (triggerAction == null || triggerAction?.Invoke(triggerName, true) == 0)
|
|
{
|
|
isInstalled = false;
|
|
CallScoreAction(false, triggerName);
|
|
Destroy(gameObject);
|
|
}
|
|
}
|
|
|
|
public void SetInstallState(DeviceTrigger deviceTrigger)
|
|
{
|
|
transform.parent = null;
|
|
transform.eulerAngles = deviceTrigger.transform.eulerAngles;
|
|
transform.position = deviceTrigger.transform.position;
|
|
isInstalled = true;
|
|
transform.GetComponent<BoxCollider>().enabled = true;
|
|
}
|
|
}
|