public override bool ApplyOperation() { if (base.ApplyOperation()) { Network_BendTool netBendTool = objectTransform.GetComponent <Network_BendTool>(); if (netBendTool && netBendTool.bendTool.bendPrefab != null) { GameObject bendObj = Instantiate(netBendTool.bendTool.bendPrefab); BendInstance bendInstance = bendObj.GetComponentInChildren <BendInstance>(); if (bendInstance) { bendInstance.curvature = curvature; bendInstance.length = length; bendInstance.amount = amount; bendInstance.direction = direction; if (!applyOnlyToCollider) { bendInstance.DeformAll(); } else { bendInstance.Deform(1); } Destroy(bendObj); return(true); } } } return(false); }
protected override void Start() { GetComponent <BoxCollider>().isTrigger = true; nbt = GetComponentInParent <Network_BendTool>(); base.Start(); }
public void CmdDestroyAllBendInstances(NetworkInstanceId netBendToolId) { Network_BendTool netBendTool = ClientScene.FindLocalObject(netBendToolId).GetComponent <Network_BendTool>(); if (netBendTool.bendInstance) { //update colliders netBendTool.RpcDestroyAllBendInstances(); NetworkServer.Destroy(netBendTool.bendInstance.transform.parent.gameObject); } }
public void CmdOnAttachBendTool(NetworkInstanceId netBendToolId) { GameObject netBendToolObj = ClientScene.FindLocalObject(netBendToolId); Network_BendTool netBendTool = netBendToolObj.GetComponent <Network_BendTool>(); if (!netBendTool.bendInstance) { GameObject bendInstance = Instantiate(netBendTool.bendTool.bendPrefab); NetworkServer.Spawn(bendInstance); netBendTool.bendInstance = bendInstance.GetComponentInChildren <BendInstance>(); netBendTool.RpcOnAttachToAnvil(bendInstance.GetComponent <NetworkIdentity>().netId); } }