using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
///
/// 螺丝
///
public class Tool_Screw : Tool_Base
{
///
/// 标识
///
public string id;
///
/// 是否已拧紧
///
public bool isInstall;
///
/// 上螺丝位置
///
public Transform installPos;
///
/// 是否带电
///
public bool hasElectricity;
///
/// 正在移动不能操作
///
private bool isMoving;
/////
///// 螺丝拧紧时的位置
/////
//private float localYInstallValue;
/////
///// 螺丝拧松时的位置
/////
//private float localYUnInstallValue;
protected override void OnAwake()
{
base.OnAwake();
id = gameObject.name;
}
///
/// 被拧紧
///
///
public void BeInstalled(Tool_Screwdriver screwdriver)
{
if (!isMoving)
{
isMoving = true;
Debug.Log("开始拧紧螺丝");
//设置螺丝刀初始位置
screwdriver.transform.position = installPos.position;
screwdriver.transform.localEulerAngles = installPos.localEulerAngles;
//动画
transform.DOLocalMoveY(transform.localPosition.y + 0.02f, 1)
.OnUpdate(() =>
{
transform.RotateAroundLocal(Vector3.up, 1);
screwdriver.transform.position = installPos.position;
screwdriver.transform.RotateAroundLocal(Vector3.right, 10);
})
.OnComplete(() =>
{
Debug.Log("螺丝已拧紧");
isInstall = true;
isMoving = false;
});
}
}
///
/// 被拧松
///
///
public void BeUnInstalled(Tool_Screwdriver screwdriver)
{
if (!isMoving)
{
isMoving = true;
Debug.Log("开始卸螺丝");
//设置螺丝刀初始位置
screwdriver.transform.position = installPos.position;
screwdriver.transform.localEulerAngles = installPos.localEulerAngles;
//动画
transform.DOLocalMoveY(transform.localPosition.y - 0.02f, 1)
.OnUpdate(() =>
{
transform.RotateAroundLocal(Vector3.up, 1);
screwdriver.transform.position = installPos.position;
screwdriver.transform.RotateAroundLocal(Vector3.right, 10);
})
.OnComplete(() =>
{
Debug.Log("螺丝已拧松");
isInstall = false;
isMoving = false;
});
}
}
}