public static Model LookupModelOfEventGroup(TAE.EventGroup group) { var sb = new StringBuilder(); if (group.GroupData.DataType == TAE.EventGroup.EventGroupDataType.ApplyToSpecificCutsceneEntity) { if (group.GroupData.Block >= 0 || group.GroupData.Area >= 0) { sb.Append($"A{group.GroupData.Area:D2}_{group.GroupData.Block:D2}_"); } if (group.GroupData.CutsceneEntityType == TAE.EventGroup.EventGroupDataStruct.EntityTypes.Character) { sb.Append($"c{group.GroupData.CutsceneEntityIDPart1:D4}_{group.GroupData.CutsceneEntityIDPart2:D4}"); } else if (group.GroupData.CutsceneEntityType == TAE.EventGroup.EventGroupDataStruct.EntityTypes.Object) { sb.Append($"o{group.GroupData.CutsceneEntityIDPart1:D4}_{group.GroupData.CutsceneEntityIDPart2:D4}"); } else if (group.GroupData.CutsceneEntityType == TAE.EventGroup.EventGroupDataStruct.EntityTypes.DummyNode) { sb.Append($"d{group.GroupData.CutsceneEntityIDPart1:D4}_{group.GroupData.CutsceneEntityIDPart2:D4}"); } else if (group.GroupData.CutsceneEntityType == TAE.EventGroup.EventGroupDataStruct.EntityTypes.MapPiece) { if (group.GroupData.Block >= 0) { sb.Append($"m{group.GroupData.CutsceneEntityIDPart1:D4}B{group.GroupData.Block}"); } else { sb.Append($"m{group.GroupData.CutsceneEntityIDPart1:D4}B{RemoManager.BlockInt}"); } if (group.GroupData.CutsceneEntityIDPart2 > 0) { sb.Append($"_{group.GroupData.CutsceneEntityIDPart2:D4}"); } } var mdls = Scene.Models.ToList(); var foundModel = mdls.FirstOrDefault(m => m.Name == sb.ToString()); if (foundModel == null && group.GroupData.CutsceneEntityType == TAE.EventGroup.EventGroupDataStruct.EntityTypes.MapPiece && group.GroupData.CutsceneEntityIDPart2 == 0) { sb.Append("_0000"); foundModel = mdls.FirstOrDefault(m => m.Name == sb.ToString()); } return(foundModel); } return(null); }
public TaeEventGroupRegion(TaeEditAnimEventGraph graph, TAE.Animation anim, TAE.EventGroup group) { Graph = graph; TaeAnim = anim; Group = group; }