public override void OnStart() { durationTime = Charator.Play(this); State = aStateState.OnUpdate; }
/// <summary> /// 加载模型 /// </summary> /// <param name="charator"></param> /// <param name="charatorName"></param> private static Task InitCharatorModel(Charator charator, string charatorName) { Task async = new Task(); ///第一种方法 ///开启一个协同分离加载和回调 Instance.StartCoroutine(TempC( () => { Task <GameObject> task = new Task <GameObject>(); Instance.StartCoroutine(LoadModel(charatorName, task)); return(task); }, (model) => { ///将模型挂在model节点下 model.transform.SetParent(charator.transform); ///从实例化数据 Data4Charator d4c = GetData(charatorName); ///添加数据 charator.Set(d4c); async.IsDone = true; } )); ///第二种方法 return(async); }
/// <summary> /// 初始化角色 /// </summary> public static Task InstantiateCharator(string name) { var charator = GetCharatorTemplate(); Charator ch = charator.AddComponent <Charator>(); return(InitCharatorModel(ch, name)); }
public void SetTarget(Charator target) { this.target = target; }
/// <summary> /// 加载模型 /// </summary> /// <param name="charator"></param> /// <param name="charatorName"></param> private static Task InitCharatorModel(Charator charator, string charatorName) { Task async = new Task(); ///第一种方法 ///开启一个协同分离加载和回调 Instance.StartCoroutine(TempC( () => { Task<GameObject> task = new Task<GameObject>(); Instance.StartCoroutine(LoadModel(charatorName, task)); return task; }, (model) => { ///将模型挂在model节点下 model.transform.SetParent(charator.transform); ///从实例化数据 Data4Charator d4c = GetData(charatorName); ///添加数据 charator.Set(d4c); async.IsDone = true; } )); ///第二种方法 return async; }