void Start() { player = GameObject.FindGameObjectWithTag("Player"); pItem = player.GetComponent <PlayerItem>(); screwDriver = GameObject.FindGameObjectWithTag("Key"); if (screwDriver != null) { pScrewDriver = screwDriver.GetComponent <ScrewDriver>(); } safeLight = GameObject.FindGameObjectWithTag("SafeLight"); if (safeLight != null) { light = safeLight.GetComponent <Light>(); } safeDoor = GameObject.FindGameObjectWithTag("SafeDoor"); rend = this.GetComponent <Renderer>(); readyToOpen = false; isUsed = false; instance = this; safeDoorOpen = false; }
// Use this for initialization void Start() { m_ScrewDriver = FindObjectOfType <ScrewDriver>(); OriginalPosition = transform.localPosition; audioPlayer = GetComponent <AudioPlayer>(); m_DropSoundHandler.SetImpactNoiseData(new DropSoundHandler.ImpactNoiseData { soundType = DropSoundHandler.DropSoundType.Metal }); }
protected virtual void OnTriggerExit(Collider other) { #if Debug print("TriggerExit"); #endif ScrewDriver screwDriver = other.GetComponentInParent <ScrewDriver>(); if (screwDriver && screwDriver.ScrewType == this.ScrewType && IsStarted && !IsFinished) { ToggleHighlight(false); } }
protected virtual void OnTriggerStay(Collider other) { ScrewDriver screwDriver = other.GetComponentInParent <ScrewDriver>(); if (screwDriver && screwDriver.ScrewType == this.ScrewType) { if (IsStarted && !IsFinished) { if (JudgeProbeDirection(other.transform, this.transform, maxAngle)) { ToggleHighlight(true); } else { ToggleHighlight(false); } } } }
protected override void OnTriggerStay(Collider other) { base.OnTriggerStay(other); if (IsStarted) { if (currentStep < stepSum) { ScrewDriver screwDriver = other.GetComponentInParent <ScrewDriver>(); if (screwDriver && screwDriver.ScrewType == this.ScrewType && screwDriver.InterObject.IsUsing() && JudgeProbeDirection(other.transform, this.transform, maxAngle)) { currentStep++; transform.position = m_originalPos + transform.forward * Mathf.Lerp(0, Depth, (float)currentStep / stepSum); } } if (currentStep == stepSum) { currentStep++; IsScrewed = true; OnFinishSteppedObject(new SteppedObjectEventArgs()); } } }
protected override void OnTriggerStay(Collider other) { base.OnTriggerStay(other); if (IsStarted) { var euler = m_originalLocalRot.eulerAngles; if (currentStep < stepSum) { ScrewDriver screwDriver = other.GetComponentInParent <ScrewDriver>(); if (screwDriver && screwDriver.ScrewType == this.ScrewType && screwDriver.InterObject.IsUsing() && JudgeProbeDirection(other.transform, this.transform, maxAngle)) { currentStep++; transform.localRotation = Quaternion.Euler(euler.x, euler.y, euler.z - RotatingAngleTotal * currentStep / stepSum); } } if (currentStep == stepSum) { currentStep++; IsScrewed = true; OnFinishSteppedObject(new SteppedObjectEventArgs()); } } }
void Start() { Key = GameObject.FindGameObjectWithTag("Key"); ScrewDriver = GameObject.FindGameObjectWithTag("ScrewDriver"); if (ScrewDriver != null) { tool_screwDriver = ScrewDriver.GetComponent <ScrewDriver>(); } Cabinet = GameObject.FindGameObjectWithTag("Cabinet"); if (Cabinet != null) { pCabinet = Cabinet.GetComponent <Cabinet>(); } ScrewDriver_UI = GameObject.FindGameObjectWithTag("ScrewDriverUI"); distanceVal = 3.0f; hasKey = false; hasDriver = false; instance = this; }