Esempio n. 1
0
        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);
        }
Esempio n. 2
0
    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);
        }
    }