| | |
| | | |
| | | public class ModelResourcesBuilder : ResourcesBuilder |
| | | { |
| | | public void BuildModelRes(int id) |
| | | public void BuildModelRes(int id, bool isHighMesh = false) |
| | | { |
| | | ModelResConfig _modelRes = ConfigManager.Instance.GetTemplate<ModelResConfig>(id); |
| | | ModelResConfig _modelRes = Config.Instance.Get<ModelResConfig>(id); |
| | | if (_modelRes == null) |
| | | { |
| | | Debug.LogWarningFormat("要生成的ModelRes资源id: {0} 并不存在于配置表中, 请确认是否填写有错.", id); |
| | |
| | | switch ((E_ModelResType)_modelRes.Type) |
| | | { |
| | | case E_ModelResType.Suit: |
| | | BuildClothes(id); |
| | | BuildClothes(id, isHighMesh); |
| | | break; |
| | | case E_ModelResType.Wing: |
| | | BuildWing(id); |
| | | BuildWing(id, isHighMesh); |
| | | break; |
| | | case E_ModelResType.Weapon: |
| | | BuildWeapon(id); |
| | | BuildWeapon(id, isHighMesh); |
| | | break; |
| | | case E_ModelResType.Horse: |
| | | BuildHorse(id); |
| | | BuildHorse(id, isHighMesh); |
| | | break; |
| | | case E_ModelResType.Secondary: |
| | | BuildSecondary(id); |
| | | BuildSecondary(id, isHighMesh); |
| | | break; |
| | | case E_ModelResType.Hand: |
| | | BuildHand(id, isHighMesh); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | public void BuildClothes(int id) |
| | | public void BuildClothes(int id, bool isHighMesh) |
| | | { |
| | | BuildAnimationClip(id); |
| | | BuildAnimatorController(id, "Temple_AnimatorController_Hero", "animatorBuildConfig"); |
| | | BuildPrefab(id, InstanceResourcesLoader.raceSuffix); |
| | | BuildPrefab(id, InstanceResourcesLoader.raceSuffix, isHighMesh); |
| | | } |
| | | |
| | | public void BuildWeapon(int id) |
| | | public void BuildWeapon(int id, bool isHighMesh) |
| | | { |
| | | BuildPrefab(id, InstanceResourcesLoader.weaponSuffix); |
| | | BuildPrefab(id, InstanceResourcesLoader.weaponSuffix, isHighMesh); |
| | | } |
| | | |
| | | public void BuildSecondary(int id) |
| | | public void BuildSecondary(int id, bool isHighMesh) |
| | | { |
| | | BuildPrefab(id, InstanceResourcesLoader.secondarySuffix); |
| | | BuildPrefab(id, InstanceResourcesLoader.secondarySuffix, isHighMesh); |
| | | } |
| | | |
| | | public void BuildHorse(int id) |
| | | public void BuildHand(int id, bool isHighMesh) |
| | | { |
| | | BuildPrefab(id, InstanceResourcesLoader.handSuffix, isHighMesh); |
| | | } |
| | | |
| | | public void BuildHorse(int id, bool isHighMesh) |
| | | { |
| | | BuildAnimationClip(id); |
| | | BuildAnimatorController(id, "Temple_AnimatorController_Horse", "animatorBuildConfig"); |
| | | BuildPrefab(id, InstanceResourcesLoader.horseSuffix); |
| | | BuildPrefab(id, InstanceResourcesLoader.horseSuffix, isHighMesh); |
| | | } |
| | | |
| | | public void BuildWing(int id) |
| | | public void BuildWing(int id, bool isHighMesh) |
| | | { |
| | | BuildAnimationClip(id); |
| | | BuildAnimatorController(id, "Temple_AnimatorController_Wing", "animatorBuildConfig_Wing"); |
| | | BuildPrefab(id, InstanceResourcesLoader.wingSuffix); |
| | | BuildPrefab(id, InstanceResourcesLoader.wingSuffix, isHighMesh); |
| | | } |
| | | |
| | | private void BuildPrefab(int id, string suffix) |
| | | private void BuildPrefab(int id, string suffix, bool isHighMesh = false) |
| | | { |
| | | if (!IsBuildPrefab) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | ModelResConfig _modelRes = ConfigManager.Instance.GetTemplate<ModelResConfig>(id); |
| | | ModelResConfig _modelRes = Config.Instance.Get<ModelResConfig>(id); |
| | | string _path = _modelRes.ResourcesName; |
| | | string _resName = _modelRes.ResourcesName; |
| | | if (_path.IndexOf('/') != -1) |
| | |
| | | _path = _path.Substring(0, _modelRes.ResourcesName.IndexOf('/')); |
| | | } |
| | | |
| | | BuildPrefab(_path, _resName, suffix); |
| | | BuildPrefab(_path, _resName, suffix, null, isHighMesh); |
| | | } |
| | | |
| | | public static void BuildAnimationClip(int id) |
| | |
| | | return; |
| | | } |
| | | |
| | | ModelResConfig _modelRes = ConfigManager.Instance.GetTemplate<ModelResConfig>(id); |
| | | ModelResConfig _modelRes = Config.Instance.Get<ModelResConfig>(id); |
| | | string _path = _modelRes.ResourcesName; |
| | | if (_path.IndexOf('/') != -1) |
| | | { |
| | |
| | | |
| | | public static void BuildAnimatorController(int id, string templeName, string configName) |
| | | { |
| | | if (!IsBuildAnimatorController) |
| | | if (!IsBuildAnimatorController && !IsBuildAnimatorUIController) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | ModelResConfig _modelRes = ConfigManager.Instance.GetTemplate<ModelResConfig>(id); |
| | | ModelResConfig _modelRes = Config.Instance.Get<ModelResConfig>(id); |
| | | string _path = _modelRes.ResourcesName; |
| | | if (_path.IndexOf('/') != -1) |
| | | { |
| | |
| | | } |
| | | |
| | | BuildAnimatorController(_path, templeName, configName); |
| | | |
| | | if (ResourcesBuilder.IsBuildAnimatorUIController) |
| | | { |
| | | BuildAnimatorController(_path, "Temple_AnimatorController_UI", "animatorBuildConfig", null); |
| | | } |
| | | } |
| | | |
| | | protected override void OnSetupRenderer(string path, string resName, ref Renderer renderer) |