// 상호작용 받음 public void Interact(Interacter interacter) { // 상호작용 설정 currentInteracter = interacter; // 대화 시작 StartConverse(); }
void Start() { DontDestroyOnLoad(this); Active = true; Movement = GetComponent <Movement>(); ConversationManager = GetComponent <ConversationManager>(); Interacter = transform.GetChild(0).GetComponent <Interacter>(); Attacker = transform.GetChild(1).GetComponent <Attacker>(); }
void OnTriggerEnter(Collider collider) { Interacter inRangeTaker = collider.gameObject.GetComponent <Interacter>(); if (inRangeTaker != null) { userEntersRange(inRangeTaker); } }
public void Interact(Interacter target) { if (!isBeingUsed) { isBeingUsed = true; interact(target); GameObject.FindGameObjectWithTag("Manager").GetComponent <ItemSpawnManager>().FreeSpawnpoint(spawnpoint); } }
protected override void interact(Interacter target) { PlayerController playerController = target.GetComponent <PlayerController>(); if (playerController != null) { SetActive(false); StartCoroutine(buffTimer(target)); } }
public virtual bool Interact(Interacter source) { if (IsInteractable(source)) { OnInteract.Invoke(source, this); return(true); } return(false); }
private void Awake() { mover = GetComponent <Mover>(); fighter = GetComponent <PlayerFighter>(); interacter = GetComponent <Interacter>(); health = GetComponent <Health>(); playerCursor = GetComponent <PlayerCursor>(); abilityManager = GetComponent <AbilityManager>(); animator = GetComponent <Animator>(); scheduler = GetComponent <ActionScheduler>(); }
public virtual bool IsInteractable(Interacter source) { if (BlacklistedInteracters.Contains(source)) { return(false); } else { return(true); } }
protected virtual void OnTriggerEnter(Collider other) { if (InteractOnBumped) { Interacter foundInteracter = other.GetComponent <Interacter>(); if (foundInteracter) { Interact(foundInteracter); } } }
IEnumerator buffTimer(Interacter target) { PlayerController playerController = target.GetComponent <PlayerController>(); playerController.SetMovementSpeed(playerController.GetCurrentMovementSpeed() + boostStrength); yield return(new WaitForSeconds(boostDuration)); Debug.Log("WaitAndPrint " + Time.time); playerController.SetMovementSpeed(playerController.GetCurrentMovementSpeed() - boostStrength); Destroy(gameObject); }
protected override void interact(Interacter target) { if (target.carryItem != null) { Debug.Log(target.GetType() + "" + keyItem.GetType()); if (target.CarriedItem.GetType() == keyItem.GetType()) { target.RemoveCarriedItem(); execute(); } } }
void OnTriggerExit(Collider collider) { Interacter inRangeTaker = collider.gameObject.GetComponent <Interacter>(); if (inRangeTaker != null) { usererExitsRange(inRangeTaker); } else { return; } }
private void EnterSearchMode() { // Move the moved items to their new positions foreach (var movedItem in MovedItems) { GridItem gridItem = _moveableReferencer.Moveables[movedItem.Key]; gridItem.MoveToGridPos((ushort)movedItem.Value.Item1, (ushort)movedItem.Value.Item2); } Interacter interacter = GetComponent <Interacter>(); interacter.enabled = true; interacter.Reset(); LocalPlayerTransform.position = MainRoomLocation.position; }
// checks for an interactable object on mouseclick, and interacts with it public void Click() { Ray ray = Cam.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { //Debug.DrawRay(ray.origin, ray.direction * 100, Color.yellow, 10); Interacter i = hit.collider.GetComponent <Interacter>(); if (i != null) { i.Interact(gameObject); return; } } }
protected override void interact(Interacter target) { if (!trapArmed) { return; } if (target.tag == "Player") { var pc = target.GetComponent <PlayerController>(); if (pc.activePlayer == trapOwner) { return; } pc.DisableMovement(); cage.GetComponent <Renderer>().enabled = true; cage.GetComponent <PhysicsObject>().EnableGravity(); trappedPlayer = pc; trapActivated = true; } }
private void ExitSearchMode() { Interacter interacter = GetComponent <Interacter>(); // Explode players who didnt pick anything by the end of the searching round // and subtract a point if (interacter.CorrectItems == 0 && interacter.WrongItems == 0) { interacter.ExplodePlayer(); interacter.WrongItems = 1; } // Tell server your points change int pointChange = interacter.CorrectItems - interacter.WrongItems; _bitBuffer.Clear(); _bitBuffer.AddByte(11); _bitBuffer.AddShort((short)pointChange); _bitBuffer.ToArray(_buffer); _webClient.Send(new ArraySegment <byte>(_buffer, 0, 3)); interacter.enabled = false; }
protected override void interact(Interacter target) { transform.position = target.transform.position; transform.position += new Vector3(0, 1.5f, 0); transform.parent = target.transform; }
// Llamado desde un Interacter cuando el objeto esta seleccionado pero no pulsado public void Down(Interacter it) { interacter = it; m_bDown = true; }
public void DebugInteract(Interacter source, Interactable reciever) { Debug.Log(source.name + " interacted with " + reciever.name + "."); }
// Llamado desde un Interacter al pulsar en el objeto public void Clicked(Interacter it) { interacter = it; OnClickEvent.Invoke(); }
protected override void finishInteract(Interacter target) { }
protected override void finishInteract(Interacter target) { base.finishInteract(target); }
// Start is called before the first frame update void Start() { interacter = GetComponent <Interacter>(); }
// 상호작용 끝 public virtual void EndInteract() { currentInteracter.EndInteract(); currentInteracter = null; }
protected override void interact(Interacter target) { base.interact(target); }
protected abstract void finishInteract(Interacter target);
protected abstract void interact(Interacter target);
public void FinishInteract(Interacter target) { finishInteract(target); isBeingUsed = false; }
//-------------------------------------------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------------------------------------------- void userEntersRange(Interacter enteringInteractor) { enteringInteractor.InteractableEntersRange(this); }
void usererExitsRange(Interacter exitingTaker) { exitingTaker.InteractableExitsRange(this); }