using AX.InputSystem; using AX.MessageSystem; using System.Collections; using System.Collections.Generic; using UnityEngine; [RequireComponent(typeof(FireDeployCameraManager))] public class FireDeployCameraHTransaction : MonoBehaviour { private FireDeployCameraManager fireDeployCameraManager; void Start() { fireDeployCameraManager = GetComponent(); } // Update is called once per frame void Update() { } void OnEnable() { MessageDispatcher.AddListener("DEPLOY_CAMERA_DRAG_ENTER_COMMAND", CameraDragEnterExecute); MessageDispatcher.AddListener("DEPLOY_CAMERA_DRAGING_COMMAND", CameraDragingExecute); MessageDispatcher.AddListener("DEPLOY_CAMERA_DRAG_EXIT_COMMAND", CameraDragExitExecute); } void OnDisable() { MessageDispatcher.RemoveListener("DEPLOY_CAMERA_DRAG_ENTER_COMMAND", CameraDragEnterExecute); MessageDispatcher.RemoveListener("DEPLOY_CAMERA_DRAGING_COMMAND", CameraDragingExecute); MessageDispatcher.RemoveListener("DEPLOY_CAMERA_DRAG_EXIT_COMMAND", CameraDragExitExecute); } void OnDestroy() { MessageDispatcher.RemoveListener("DEPLOY_CAMERA_DRAG_ENTER_COMMAND", CameraDragEnterExecute); MessageDispatcher.RemoveListener("DEPLOY_CAMERA_DRAGING_COMMAND", CameraDragingExecute); MessageDispatcher.RemoveListener("DEPLOY_CAMERA_DRAG_EXIT_COMMAND", CameraDragExitExecute); } private void CameraDragEnterExecute(IMessage obj) { var data = (CameraCmdArgs)obj.Data; fireDeployCameraManager.UpdateDragEnterData(data.mousePosition, data.dragStart); } private void CameraDragingExecute(IMessage obj) { var data = (CameraCmdArgs)obj.Data; fireDeployCameraManager.UpdateDragingData(data.mousePosition, data.dragStart); } private void CameraDragExitExecute(IMessage obj) { var data = (CameraCmdArgs)obj.Data; fireDeployCameraManager.UpdateDragExitData(data.mousePosition, data.dragStart); } }