//*/ public void startInteractionSystem(InteractionData interactionData) { interactionData.addCondition(petStatus); interactionData.instantiateInteractions(petStatus); activeInteractionSystems.Add(interactionData); }
private void OnCursorEnter(InteractionData data) { if (active) { interactableState = InteractableState.normalHover; } }
public void beginHover(InteractionData data) { if (data.collider == this.handleAxis_X) { this.hover = DevkitPositionHandle.EDevkitPositionHandleSelection.AXIS_X; } else if (data.collider == this.handleAxis_Y) { this.hover = DevkitPositionHandle.EDevkitPositionHandleSelection.AXIS_Y; } else if (data.collider == this.handleAxis_Z) { this.hover = DevkitPositionHandle.EDevkitPositionHandleSelection.AXIS_Z; } else if (data.collider == this.handlePlane_X) { this.hover = DevkitPositionHandle.EDevkitPositionHandleSelection.PLANE_X; } else if (data.collider == this.handlePlane_Y) { this.hover = DevkitPositionHandle.EDevkitPositionHandleSelection.PLANE_Y; } else if (data.collider == this.handlePlane_Z) { this.hover = DevkitPositionHandle.EDevkitPositionHandleSelection.PLANE_Z; } }
private void OnCursorExit(InteractionData data) { if (active) { interactableState = InteractableState.normal; } }
void OnInteraction(InteractionData data) { if (hasOnInteraction) { instance.Invoke(nameof(OnInteraction), data); } }
protected void OnClickDown(InteractionData data) { if (OnClick != null) { OnClick(); } }
public void beginDrag(InteractionData data) { if (data.collider == this.handleAxis_X) { this.drag = DevkitPositionHandle.EDevkitPositionHandleSelection.AXIS_X; } else if (data.collider == this.handleAxis_Y) { this.drag = DevkitPositionHandle.EDevkitPositionHandleSelection.AXIS_Y; } else if (data.collider == this.handleAxis_Z) { this.drag = DevkitPositionHandle.EDevkitPositionHandleSelection.AXIS_Z; } else if (data.collider == this.handlePlane_X) { this.drag = DevkitPositionHandle.EDevkitPositionHandleSelection.PLANE_X; } else if (data.collider == this.handlePlane_Y) { this.drag = DevkitPositionHandle.EDevkitPositionHandleSelection.PLANE_Y; } else if (data.collider == this.handlePlane_Z) { this.drag = DevkitPositionHandle.EDevkitPositionHandleSelection.PLANE_Z; } this.transformOrigin = base.transform.position; this.prevPositionResult = this.transformOrigin; this.handleOffset = data.point - base.transform.position; this.mouseOrigin = Input.mousePosition; }
private void Construct(ShipBehaviour shipBehaviour, InteractionData interactionData) { _shipBehaviour = shipBehaviour; _interactionData = interactionData; _camera = Camera.main; _hits = new RaycastHit[10]; }
public void Initialize(InteractionData interactionData) { _subscriptions = new LinkedList <IDisposable>(); _camera = Camera.main; _canvas = (RectTransform)GetComponentInParent <Canvas>().transform; interactionData.CurrentlySelectedPlanet.Subscribe(Show).AddTo(gameObject); Hide(); }
private void ClickDown(InteractionData data) { if (active && interactableState != InteractableState.clicked) { interactableState = InteractableState.clicked; FireOnClick(); } }
public void Initialize(InteractionData interactionData) { PlanetBehaviour = GetComponent <PlanetBehaviour>(); interactionData.CurrentlySelectedPlanet.Subscribe(planet => { IsUnderCursor = planet == this && gameObject.activeSelf; }).AddTo(gameObject); }
public static async Task <RestUserMessage> SendInteractionFileAsync(IMessageChannel channel, BaseDiscordClient client, InteractionData interaction, string filePath, string text, bool isTTS, Embed embed, AllowedMentions allowedMentions, RequestOptions options, bool isSpoiler, MessageReferenceParams reference, InteractionMessageType type, bool ghostMessage, InteractionRow[] components) { string filename = Path.GetFileName(filePath); using (FileStream file = File.OpenRead(filePath)) return(await SendInteractionFileAsync(channel, client, interaction, file, filename, text, isTTS, embed, allowedMentions, options, isSpoiler, reference, type, ghostMessage, components).ConfigureAwait(false)); }
public void OnClick(InteractionData data) { // Find the agent that clicked. AgentPrivate agent = ScenePrivate.FindAgent(data.AgentId); // Send them a message. agent.SendChat("Hello! Thanks for clicking me."); }
private void ParseFileIntoDialog(string fileName, InteractionData interactionData, out DialogData dialogData) { string path = Application.dataPath + "/StreamingAssets/Interactions/" + fileName + ".txt"; if (!Directory.Exists(Application.dataPath + "/StreamingAssets/Interactions/")) { Directory.CreateDirectory(Application.dataPath + "/StreamingAssets/Interactions/"); } if (!File.Exists(path)) { dialogData = null; } else { dialogData = ScriptableObject.CreateInstance <DialogData>(); dialogData.actions = new List <DialogAction>(); string[] dialog = File.ReadAllLines(path); DialogAction action = ScriptableObject.CreateInstance <DialogAction>(); for (int i = 0; i < dialog.Length; ++i) { if (dialog[i].ToLower() == "[" + interactionData.firstInteractor.entityName.ToLower() + "]") { action.interactee = interactionData.firstInteractor; continue; } else if (dialog[i].ToLower() == "[" + interactionData.secondInteractor.entityName.ToLower() + "]") { action.interactee = interactionData.secondInteractor; continue; } if (dialog[i].Length > 0 && dialog[i][0] == '*') { action.text = dialog[i].Replace("*", ""); if (action != null) { dialogData.actions.Add(action); } Interactee interactee = action.interactee; action = ScriptableObject.CreateInstance <DialogAction>(); if (i + 2 < dialog.Length && dialog[i + 2].Length > 0 && dialog[i + 2][0] == '*') { action.interactee = interactee; } } else { if (action != null) { SetActionDefaults(ref action); ParseAction(action, dialog[i]); } } } } }
public bool TryLoad(ref InteractionData interactionData) { if (IsRegistrated(ref interactionData)) { interactionData.happens = true; return(true); } return(false); }
/// <summary> /// GUI callback for updating the text in the text objects. /// </summary> /// <param name="newDestination">Next destination for the inhabitant.</param> /// <param name="newInteractionDuration">Duration for the next interaction.</param> /// <param name="isInterruption">Boolean which indicates whether the next interaction is a interruption.</param> public void UpdateText(InteractionData newDestination, float newInteractionDuration, bool isInterruption) { NameText.text = newDestination.TargetGameObjectName; DescriptionText.text = newDestination.Description; ReactionCollectionText.text = newDestination.ReactionCollectionDescription; InitialDurationText.text = newDestination.InitialInteractionDuration + ""; CurrentDurationText.text = newInteractionDuration + ""; IsInterruptionText.text = isInterruption + ""; }
protected override void SimpleInit() { // Any \n put in the parameter will not get converted to newlines, so convert them here. string prompt = MyInteraction.GetPrompt(); if (prompt.Contains("\\n")) { MyInteraction.SetPrompt(prompt.Replace("\\n", "\n")); } if (!StartEnabled) { MyInteraction.SetEnabled(false); } SubscribeToAll(DisableEvent, (data) => { MyInteraction.SetEnabled(false); }); SubscribeToAll(EnableEvent, (data) => { MyInteraction.SetEnabled(true); }); SubscribeToAll(ResetEvent, (data) => { Reset(OnClick); }); if (!string.IsNullOrWhiteSpace(OnClick)) { if (MaxEventsPerSecond >= 100 || MaxEventsPerSecond <= 0) { MyInteraction.Subscribe((InteractionData data) => { if (DisableOnClick) { MyInteraction.SetEnabled(data.AgentId, false); } SimpleData sd = new SimpleData(this); sd.SourceObjectId = ObjectPrivate.ObjectId; sd.AgentInfo = ScenePublic.FindAgent(data.AgentId)?.AgentInfo; sd.ObjectId = sd.AgentInfo != null ? sd.AgentInfo.ObjectId : ObjectId.Invalid; SendToAll(OnClick, sd); }); } else { TimeSpan waitTime = TimeSpan.FromSeconds(1.0 / MaxEventsPerSecond); while (true) { InteractionData data = (InteractionData)WaitFor(MyInteraction.Subscribe); if (DisableOnClick) { MyInteraction.SetEnabled(data.AgentId, false); } SimpleData sd = new SimpleData(this); sd.SourceObjectId = ObjectPrivate.ObjectId; sd.AgentInfo = ScenePublic.FindAgent(data.AgentId)?.AgentInfo; sd.ObjectId = sd.AgentInfo != null ? sd.AgentInfo.ObjectId : ObjectId.Invalid; SendToAll(OnClick, sd); Wait(waitTime); } } } }
public void SelectData(int dataType) { selectInteraction = (InteractionData)dataType; for (int i = 0; i < outlines.Length; i++) { outlines[i].color = (dataType == i) ? new Color(0.486f, 0.251f, 1.0f, 1.0f) : new Color(0.486f, 0.251f, 1.0f, 0.0f); } prevPowerData = -1.0f; powerData.Clear(); }
/// <summary> /// Trigger an interaction from a 2D raycast. Impact Material data will be retrieved from the object that was hit by the raycast. The interaction will be processed using the given IImpactObject. /// </summary> /// <param name="hit">Raycast 2D hit data. The contact point, normal, and the object that was hit will be retrived from this.</param> /// <param name="impactObject">The Impact Object the resulting interaction will be processed on.</param> /// <param name="velocity">The velocity of the interaction.</param> /// <param name="interactionType">The type of interaction.</param> /// <param name="useMaterialComposition">Should this trigger use the material composition of the object it hit by the raycast?</param> public static void Trigger2D(IImpactObject impactObject, RaycastHit2D hit, Vector3 velocity, int interactionType, bool useMaterialComposition) { InteractionData interactionData = new InteractionData(); interactionData.InteractionType = interactionType; interactionData.Velocity = velocity; interactionData.ThisObject = impactObject.GameObject; Trigger2D(interactionData, hit, impactObject, useMaterialComposition); }
public bool TriggerInteractionSelectionEvent(InteractionData newInteraction, float newInteractionDuration, bool isInterruption) { if (OnSelectNewInteractionEvent != null) { OnSelectNewInteractionEvent(newInteraction, newInteractionDuration, isInterruption); return(true); } return(false); }
private void ExecuteInteraction(InteractionData idata) { SimpleData sd = new SimpleData(this); sd.SourceObjectId = ObjectPrivate.ObjectId; sd.AgentInfo = ScenePrivate.FindAgent(idata.AgentId)?.AgentInfo; sd.ObjectId = sd.AgentInfo != null ? sd.AgentInfo.ObjectId : ObjectId.Invalid; //string VoteEvent = "Score" + Button.ToString(); SendScore(1); }
private void ExecuteInteraction(InteractionData idata) { SimpleData sd = new SimpleData(this); sd.SourceObjectId = ObjectPrivate.ObjectId; sd.AgentInfo = ScenePrivate.FindAgent(idata.AgentId)?.AgentInfo; sd.ObjectId = sd.AgentInfo != null ? sd.AgentInfo.ObjectId : ObjectId.Invalid; SendToAll(EventNames[index], sd); index = (index + 1) % EventNames.Count; }
/// <summary> /// Trigger an interaction from a 2D raycast. The interaction will be processed on the object that was hit by the raycast. /// </summary> /// <param name="hit">Raycast 2D hit data. The contact point, normal, and the object that was hit will be retrived from this.</param> /// <param name="tagMask">The tag mask to use for the interaction.</param> /// <param name="velocity">The velocity of the interaction.</param> /// <param name="fromObject">The object the interaction is originating from.</param> /// <param name="interactionType">The type of interaction.</param> /// <param name="useMaterialComposition">Should this trigger use the material composition of the object it hit by the raycast?</param> public static void Trigger2D(ImpactTagMask tagMask, RaycastHit2D hit, Vector3 velocity, GameObject fromObject, int interactionType, bool useMaterialComposition) { InteractionData interactionData = new InteractionData(); interactionData.TagMask = tagMask; interactionData.InteractionType = interactionType; interactionData.Velocity = velocity; interactionData.ThisObject = fromObject; Trigger2D(interactionData, hit, useMaterialComposition); }
private void CreateInteraction() { if (interaction != null) { if (!EditorUtility.DisplayDialog("You sure m8?", "This will erase unsaved changes.", "ok")) { return; } } interaction = new InteractionData(); }
public void OnClick(InteractionData data) { // Find the agent that clicked. AgentPrivate agent = ScenePrivate.FindAgent(data.AgentId); // Lower gravity for the agent that clicked agent.SetGravityFactor(gravityFactor); //Send the quest event SendQuestEvent(questCommand, agent); }
private void sendSimpleMessage(string msg, InteractionData data) { SimpleData sd = new SimpleData(this); //SimpleDataExt thisObjectDataExt = new SimpleDataExt(this); sd.AgentInfo = ScenePrivate.FindAgent(data.AgentId)?.AgentInfo; sd.ObjectId = sd.AgentInfo.ObjectId; sd.SourceObjectId = ObjectPrivate.ObjectId; // assign our data to reflective data field SendToAll(msg, sd); }
public void ClickUp(InteractionData data) { if (_logInteractions) { Debug.Log(gameObject.name + " clicked up by " + data.interactingTransform.name); } _lastInteractionData = data; OnClickUp?.Invoke(data); }
public bool IsRegistrated(ref InteractionData interactionData) { for (int i = 0; i < interactionsRegister.Count; i++) { if (interactionsRegister[i] == interactionData) { return(true); } } return(false); }
private void sendSimpleMessage(string msg, InteractionData data) { SimpleData sd = new SimpleData(); sd.AgentInfo = ScenePrivate.FindAgent(data.AgentId)?.AgentInfo; sd.ObjectId = sd.AgentInfo.ObjectId; SendToAll(msg, sd); Wait(TimeSpan.FromMilliseconds((int)OffTimer * 1000)); SendToAll(msg + "Off", sd); }
public InteractionData CreateInteraction(Interactee firstInteractor, InteractionData.InteractionType type, string fileName, Interactee secondInteractor = null) { InteractionData data = ScriptableObject.CreateInstance <InteractionData>(); data.firstInteractor = firstInteractor; data.secondInteractor = secondInteractor; data.interactionType = type; data.dialogFileName = fileName; return(data); }
protected override void OnProcess(AggregationPipelineArgs args) { Assert.ArgumentNotNull(args, "args"); VisitData visit = args.Context.Visit; if (visit.Browser == null || visit.OperatingSystem == null || visit.Screen == null || string.IsNullOrEmpty(visit.UserAgent)) { return; } Hash32 languageHash = AggregationProcessor.UpdateLanguagesDimension(args); Hash32 sitesHash = AggregationProcessor.UpdateSiteNamesDimension(args); InteractionData interactionData = new InteractionData(args, visit); try { ProcessDimensionSegments(args, visit, sitesHash, interactionData); } catch { } }
private static void ProcessDimensionSegments(AggregationPipelineArgs args, VisitData visit, Hash32 sitesHash, InteractionData interactionData) { foreach(Dimension dimension in Dimensions) { IEnumerable<Segment> segments = from segment in segmentDefinitionService.GetSegmentDefinitions() where segment.DimensionId == dimension.DimensionID select new Segment(segment, dimension); foreach(Segment segment in segments) { ISegmentKeyProvider keyProvider = null; switch(segment.Dimension.DimensionType) { case DimensionType.Browser: keyProvider = interactionData.Browser; break; case DimensionType.OS: keyProvider = interactionData.OS; break; case DimensionType.Screen: keyProvider = interactionData.Screen; break; case DimensionType.UserAgent: keyProvider = interactionData.UserAgent; break; } string segmentKeyValue = keyProvider.GetSegmentKeyValue(); Hash64 segmentDimensionKeyId = args.GetDimension<DimensionKeys>().Add(segmentKeyValue); Hash64 segmentRecordId = args.GetDimension<SegmentRecords>().Add(segment.Definition.Id, visit.StartDateTime, sitesHash, segmentDimensionKeyId); SegmentMetrics segmentMetricsFact = args.GetFact<SegmentMetrics>(); byte contactTransitionType = 1; if (visit.ContactVisitIndex > 1) contactTransitionType = 2; SegmentMetrics.Key segmentMetricsKey = new SegmentMetrics.Key { ContactTransitionType = contactTransitionType, SegmentRecordId = segmentRecordId }; List<PageEventData> evts = (from page in visit.Pages select page.PageEvents).FirstOrDefault(); SegmentMetricsValue segmentMetricsValue = new SegmentMetricsValue { //Same exact code from DimensionBase.CalculateCommonMetrics Visits = 1, Value = visit.Value, Bounces = visit.Pages.Count == 1 ? 1 : 0, Conversions = evts.Count<PageEventData>(e => e.IsGoal), TimeOnSite = visit.Pages.Sum<PageData>((Func<PageData, int>)(page => DimensionBase.ConvertDuration(page.Duration))), Pageviews = visit.Pages.Count, Count = visit.VisitPageCount }; segmentMetricsFact.Emit(segmentMetricsKey, segmentMetricsValue); } } }