123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using GameFramework.Event;
- using UnityEngine;
- public class NetTrainStudyCtrl : MonoBehaviour
- {
- private Ray _ray;
- private RaycastHit _raycastHit;
- public bool _learnTarget = false;
- private Dictionary<NetHardWaryType, RayCastColliders> _colliderList;
-
- private void Awake()
- {
- _colliderList = new Dictionary<NetHardWaryType, RayCastColliders>();
- for (int i = 1; i < 4; i++)
- {
- _colliderList.Add((NetHardWaryType)i,this.transform.Find($"{(NetHardWaryType)i}Collider").GetComponent<RayCastColliders>());
- }
- foreach (var item in _colliderList.Values)
- {
- item.SetMeshEnable(false);
- }
- }
- void Start()
- {
- _learnTarget = false;
- GameMain.Event.Subscribe(Net_StartLearnTargetInfoEvent.EventId,StartLearn);
- }
- // Update is called once per frame
- void Update()
- {
- if (_learnTarget)
- {
- foreach (var item in _colliderList.Values)
- {
- item.SetMeshEnable(false);
- }
- _ray = Camera.main.ScreenPointToRay(Input.mousePosition);
- if (Physics.Raycast(_ray,out _raycastHit))
- {
- switch (_raycastHit.collider.gameObject.name)
- {
- case "LYQCollider":
- _colliderList[NetHardWaryType.LYQ].SetMeshEnable(true);
- GameMain.Event.Fire(this, Net_TrainStudyShowTargetInfoEvent.Create(NetHardWaryType.LYQ));
- break;
- case "JHJCollider":
- _colliderList[NetHardWaryType.JHJ].SetMeshEnable(true);
- GameMain.Event.Fire(this, Net_TrainStudyShowTargetInfoEvent.Create(NetHardWaryType.JHJ));
- break;
- case "FWQCollider":
- _colliderList[NetHardWaryType.FWQ].SetMeshEnable(true);
- GameMain.Event.Fire(this,Net_TrainStudyShowTargetInfoEvent.Create(NetHardWaryType.FWQ));
- break;
- default:
- GameMain.Event.Fire(this, Net_TrainStudyShowTargetInfoEvent.Create(NetHardWaryType.none));
- break;
- }
- }
- else
- {
- GameMain.Event.Fire(this, Net_TrainStudyShowTargetInfoEvent.Create(NetHardWaryType.none));
- }
- }
- }
- private void OnDestroy()
- {
- if (GameMain.Event.Check(Net_StartLearnTargetInfoEvent.EventId, StartLearn))
- {
- GameMain.Event.Unsubscribe(Net_StartLearnTargetInfoEvent.EventId,StartLearn);
- }
- }
-
- private void StartLearn(object sender,GameEventArgs e)
- {
- Net_StartLearnTargetInfoEvent args = (Net_StartLearnTargetInfoEvent)e;
- _learnTarget = args.start;
- }
- private void ReStartTrain(object sender,GameEventArgs e)
- {
- foreach (var item in _colliderList.Values)
- {
- item.SetMeshEnable(false);
- }
- GameMain.Event.Fire(this, Net_TrainStudyShowTargetInfoEvent.Create(NetHardWaryType.none));
- }
- }
|