public bool RequestInteraction() { if (AvatarDataHandle.TryGetPlayerHandle(base.gameObject, out var _) && participationData.CurrentParticipationState == ParticipationState.Pending) { ParticipationRequest.Type type = ParticipationRequest.Type.Start; if (participationController.StartParticipation(new ParticipationRequest(type, participationData.ParticipatingGO.Value, "PenguinInteraction"))) { participantReference = participationData.ParticipatingGO; currentActionGraphGameObject = participationData.ParticipatingGO.Value; interactRequest.Set(); return(true); } } return(false); }
public void OnTriggerEnter(Collider collider) { GameObject gameObject = ActionSequencer.FindActionGraphObject(collider.gameObject); if (!AvatarDataHandle.TryGetPlayerHandle(base.gameObject, out var _) || !(gameObject != null) || !canInteractWithActionGraph(gameObject)) { return; } ForceInteractionAction component = gameObject.GetComponent <ForceInteractionAction>(); if (component != null) { ParticipationRequest.Type type = ParticipationRequest.Type.ForcedInteraction; ParticipationRequest request = new ParticipationRequest(type, gameObject, "PenguinInteraction"); participationController.PrepareParticipation(request); if (participationData != null && participationData.ParticipatingGO != null && participationData.ParticipatingGO.Value == gameObject) { participantReference = participationData.ParticipatingGO; currentActionGraphGameObject = gameObject; interactRequest.Set(); } } else { ParticipationRequest.Type type = ParticipationRequest.Type.Prepare; ParticipationRequest request2 = new ParticipationRequest(type, gameObject, "PenguinInteraction"); if (!isReadyForParticipation) { pendingParticipationRequest = request2; } else { participationController.PrepareParticipation(request2); } } }
public void LogRequest(ParticipationRequest.Type requestType, GameObject requestor, string description, bool accepted) { }