1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using Cinemachine;
- using GameFramework.Event;
- using UnityEngine;
- using UnityEngine.Playables;
- public class RoamManager : MonoBehaviour
- {
- public CinemachineVirtualCamera[] AutoVirtualCamera;
- public CinemachineVirtualCamera FpVirtualCamera;
- public PlayableDirector autoAni;
- // Start is called before the first frame update
- void Awake()
- {
- GameMain.Event.Subscribe(ChangeRoamTypeEvent.EventId,OnGetChangeRoamType);
- for (int i = 0; i < AutoVirtualCamera.Length; i++)
- {
- AutoVirtualCamera[i].enabled = false;
- }
- }
- private void OnDestroy()
- {
- GameMain.Event.Unsubscribe(ChangeRoamTypeEvent.EventId,OnGetChangeRoamType);
- }
- public void OnGetChangeRoamType(object sender, GameEventArgs e)
- {
- ChangeRoamTypeEvent args = (ChangeRoamTypeEvent)e;
- switch (args.type)
- {
- case 0:
- for (int i = 0; i < AutoVirtualCamera.Length; i++)
- {
- AutoVirtualCamera[i].enabled = true;
- }
- FpVirtualCamera.enabled = false;
- autoAni.Play();
- break;
- case 1:
- autoAni.Pause();
- autoAni.time = 0;
- FpVirtualCamera.enabled = true;
- for (int i = 0; i < AutoVirtualCamera.Length; i++)
- {
- AutoVirtualCamera[i].enabled = false;
- }
- break;
- }
- }
- }
|