Я не понял. Вот у меня есть скрипт FPSInputController, который переделал. Там есть функция OnTriggerStay, в которой реализоана смерть игрока, а также тригер двери, что мне делать, чтобы не лагала система?
function CloseDoor()
{
networkView.RPC("SetDoorAnimation",RPCMode.All, "close");
yield WaitForSeconds(2);
dooractive = false;
}
function OpenDoor()
{
networkView.RPC("SetDoorAnimation",RPCMode.All, "open");
yield WaitForSeconds(2);
dooractive = true;
}
function OnTriggerStay(other:Collider)
{
if(networkView.isMine)
{
if(other.tag == "fire")
{
infire = true;
}
if(other.tag == "door" && dooractive == false && Input.GetKeyDown(KeyCode.E))
{
OpenDoor();
}
if(other.tag == "door" && dooractive == true && Input.GetKeyDown(KeyCode.E))
{
CloseDoor();
}
}
}
@RPC
function SetDoorAnimation(DooranimationName:System.String)
{
GameObject.FindGameObjectWithTag("door").animation.CrossFade(DooranimationName);
}
То есть хочу этот скрипт сделать универсальным для каждой двери + чтобы не лагало