void Update()
{
if (isEmptyDoorMaterial() && isButtonUp)
{
this.renderer.material.SetTexture("_MainTex", DoorBlinTexture[0]);
}
ForB();
//whether player is front of the door MinDistance or not
if (Trigger() <= MinDistance || isMotion)
{
if (!isOpen || isMotion)
{
if (isEmptyDoorMaterial() && Trigger() <= MinDistance)
{
this.renderer.material.SetTexture("_MainTex", DoorBlinTexture[1]);
}
if (isFront)
{
if (onMouseClick)
{
isMotion = true;
Vector3 rotate;
rotate = this.transform.localEulerAngles;
rotate.y += OpeningSpeed;
this.transform.localEulerAngles = rotate;
AngleCount += OpeningSpeed;
if (AngleCount >= 90)
{
rotate = this.transform.localEulerAngles;
rotate.y = Rotate_Y + 90;
this.transform.localEulerAngles = rotate;
isOpen = true;
onMouseClick = false;
AngleCount = 0;
isMotion = false;
isOpenIn = true;
}
}
}
else
{
if (onMouseClick)
{
isMotion = true;
Vector3 rotate;
rotate = transform.localEulerAngles;
rotate.y -= OpeningSpeed;
transform.localEulerAngles = rotate;
AngleCount -= OpeningSpeed;
if (AngleCount <= -90)
{
rotate = transform.localEulerAngles;
rotate.y = Rotate_Y - 90;
transform.localEulerAngles = rotate;
isOpen = true;
onMouseClick = false;
AngleCount = 0;
isMotion = false;
isOpenIn = false;
}
}
}
}
}
else
{
if (isOpen && (!isMotion))
{
if (isOpenIn)
{
Vector3 rotate;
rotate = transform.localEulerAngles;
rotate.y -= OpeningSpeed;
transform.localEulerAngles = rotate;
AngleCount -= OpeningSpeed;
if (AngleCount <= -90)
{
rotate = transform.localEulerAngles;
rotate.x = Rotate_X;
rotate.y = Rotate_Y;
rotate.z = Rotate_Z;
transform.localEulerAngles = rotate;
isOpen = false;
AngleCount = 0;
isMotion = true;
}
}
else
{
Vector3 rotate;
rotate = transform.localEulerAngles;
rotate.y += OpeningSpeed;
transform.localEulerAngles = rotate;
AngleCount += OpeningSpeed;
if (AngleCount >= 90)
{
rotate = transform.localEulerAngles;
rotate.y = Rotate_Y;
transform.localEulerAngles = rotate;
isOpen = false;
AngleCount = 0;
isMotion = true;
}
}
}
}
}