public ScriptTriggerEntityComponent(EntityComponentDataCreationStruct parameters) : base(parameters) { _script = GetDataOrDefault("Script", ""); _trigger = GetDataOrDefault("Trigger", "Interaction"); _message = GetDataOrDefault("Message", "Interact"); _collider = new Collider(Parent.Scale, isTrigger: true); _collider.SetPosition(Parent.GlobalPosition); GameInstance.GetService <CollisionManager>().Add(_collider); _collider.OnTriggerEnter = OnTriggerEnter; _collider.OnTriggerLeave = OnTriggerLeave; _uiElement = new InteractionPromptOverworldUIElement(Parent, _message); _uiElement.InteractionStarted += InteractionHandler; }
private void InteractionHandler(InteractionPromptOverworldUIElement uiElement) { ScriptPipeline.ScriptPipelineManager.RunScript(_script); }