void Start() { rigidbody = GetComponent <Rigidbody>(); animator = GetComponent <Animator>(); collider = GetComponent <Collider>(); pMatData = new PhysicMaterialData() { dynamicFriction = collider.material.dynamicFriction, staticFriction = collider.material.staticFriction, frictionCombine = collider.material.frictionCombine }; }
void Start() { collider = GetComponentInChildren <Collider>(); rigidbody = GetComponent <Rigidbody>(); AddOnTriggerHitEvent( delegate(Collider col) { //Debug.Log("h"); //Collider col = coll.collider; if (col.gameObject == chainDrawer) { return; } if (col.gameObject == owner) { return; } if (harpoonState == HARPOON_STATE.MOVING) { objectMovement.Stop(); if (col.gameObject.tag == "Wood") { AttachObjectToObject(transform, col.transform); rigidbody.isKinematic = true; harpoonState = HARPOON_STATE.FIXED; fixedTarget = col.transform; /*if (col.attachedRigidbody != null) * chainDrawer.headConnectedRigid = col.attachedRigidbody;*/ fixedTargetPMat = new PhysicMaterialData() { dynamicFriction = col.material.dynamicFriction, staticFriction = col.material.staticFriction, frictionCombine = col.material.frictionCombine }; RaycastHit hit; if (Physics.Raycast(transform.position, transform.forward, out hit, harpoonLength * 3, LayerMask.GetMask(LayerMask.LayerToName(col.gameObject.layer)))) { transform.position = hit.point - transform.forward * (thrustingLength); } } else if (col.gameObject.tag == "Monster") { AttachObjectToObject(transform, col.transform); rigidbody.isKinematic = true; harpoonState = HARPOON_STATE.FIXED; fixedTarget = col.transform; /*if (col.attachedRigidbody != null) * chainDrawer.headConnectedRigid = col.attachedRigidbody;*/ fixedTargetPMat = new PhysicMaterialData() { dynamicFriction = col.material.dynamicFriction, staticFriction = col.material.staticFriction, frictionCombine = col.material.frictionCombine }; } else if (col.gameObject.layer == LayerMask.NameToLayer("ground")) { ReturnHarpoon(HARPOON_STATE.RETURNING); } } } ); objectMovement.AddReachedEvent(OnReachedEvent); gameObject.SetActive(false); }