using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using vnxbqy.UI;
|
|
public class CreateRoleProcessor
|
{
|
CreateRoleTimeLine m_WarriorTimeLine = new CreateRoleTimeLine();
|
CreateRoleBehaviour m_WarriorBehaviour = new CreateRoleBehaviour();
|
|
Animator cameraAnimator;
|
Camera createRoleCamera;
|
|
|
public void LoadNecessaryResources()
|
{
|
if (cameraAnimator == null || createRoleCamera == null)
|
{
|
var cameraParams = CreateRoleScriptableObject.GetCameraParams();
|
var prefab = SceneLoader.LoadCreateRole(cameraParams.prefabName);
|
var instance = GameObject.Instantiate(prefab);
|
cameraAnimator = instance.GetComponent<Animator>();
|
//createRoleCamera = instance.GetComponentInChildren<Camera>(true);
|
//createRoleCamera.enabled = false;
|
}
|
}
|
|
public void SwitchToWarrior(bool immediately)
|
{
|
|
m_WarriorTimeLine.ClearNode();
|
var cameraParams = CreateRoleScriptableObject.GetCameraParams();
|
|
m_WarriorBehaviour.SetActive(false);
|
|
m_WarriorTimeLine.AddNone(0f, () =>
|
{
|
//WindowCenter.Instance.Close<CreateRoleWin>();
|
//createRoleCamera.enabled = true;
|
//cameraAnimator.Play(cameraParams.magicToWarrior, 0, immediately ? 1f : 0f);
|
|
m_WarriorBehaviour.ReleaseEffects();
|
});
|
|
m_WarriorTimeLine.AddNone(immediately ? 0f : cameraParams.magicToWarriorTime, () =>
|
{
|
m_WarriorBehaviour.SetActive(true);
|
m_WarriorBehaviour.Show(CreateRoleScriptableObject.GetJobParams(CreateRoleManager.Instance.selectedJob.Fetch()));
|
});
|
|
}
|
|
|
|
public void Dispose()
|
{
|
m_WarriorBehaviour.Dispose();
|
m_WarriorBehaviour = null;
|
|
m_WarriorTimeLine.Dispose();
|
|
cameraAnimator = null;
|
createRoleCamera = null;
|
}
|
|
|
}
|