Inheritance: IBinarySerializable
コード例 #1
0
ファイル: WMO.cs プロジェクト: Nihlus/libwarcraft
 /// <summary>
 /// Adds a model group to the model object. The model group must be listed in the root object,
 /// or it won't be accepted by the model.
 /// </summary>
 /// <param name="modelGroup">Model group.</param>
 public void AddModelGroup(ModelGroup modelGroup)
 {
     if (ContainsGroup(modelGroup))
     {
         modelGroup.Name = ResolveInternalGroupName(modelGroup);
         modelGroup.DescriptiveName = ResolveInternalDescriptiveGroupName(modelGroup);
         this.Groups.Add(modelGroup);
     }
 }
コード例 #2
0
ファイル: ModelGroupNames.cs プロジェクト: Nihlus/libwarcraft
        public string GetInternalGroupName(ModelGroup modelGroup)
        {
            int internalNameOffset = (int) modelGroup.GetInternalNameOffset();
            if (this.GroupNames.ContainsKey(internalNameOffset))
            {
                return this.GroupNames[internalNameOffset];
            }

            return null;
        }
コード例 #3
0
ファイル: ModelRoot.cs プロジェクト: Nihlus/libwarcraft
 public string GetInternalGroupName(ModelGroup modelGroup)
 {
     return this.GroupNames.GetInternalGroupName(modelGroup);
 }
コード例 #4
0
ファイル: ModelRoot.cs プロジェクト: Nihlus/libwarcraft
        public bool ContainsGroup(ModelGroup modelGroup)
        {
            bool containsGroupName = this.GroupNames.GroupNames.Count(kvp => kvp.Key == modelGroup.GetInternalNameOffset()) > 0;
            bool containsDescriptiveGroupName = this.GroupNames.GroupNames.Count(kvp => kvp.Key == modelGroup.GetInternalDescriptiveNameOffset()) > 0;

            // sometimes, model groups don't contain a descriptive name.
            if (modelGroup.GetInternalDescriptiveNameOffset() > 0)
            {
                return containsGroupName && containsDescriptiveGroupName;
            }

            return containsGroupName;
        }
コード例 #5
0
ファイル: WMO.cs プロジェクト: Nihlus/libwarcraft
 public bool ContainsGroup(ModelGroup modelGroup)
 {
     return this.RootInformation.ContainsGroup(modelGroup);
 }
コード例 #6
0
ファイル: WMO.cs プロジェクト: Nihlus/libwarcraft
 /// <summary>
 /// Adds a model group to the model object. The model group must be listed in the root object,
 /// or it won't be accepted by the model.
 /// </summary>
 /// <param name="inData">Byte array containing the model group.</param>
 public void AddModelGroup(byte[] inData)
 {
     ModelGroup group = new ModelGroup(inData);
     AddModelGroup(group);
 }
コード例 #7
0
ファイル: WMO.cs プロジェクト: Nihlus/libwarcraft
 private string ResolveInternalDescriptiveGroupName(ModelGroup modelGroup)
 {
     return this.RootInformation.GetInternalDescriptiveGroupName(modelGroup);
 }
コード例 #8
0
ファイル: WMO.cs プロジェクト: Nihlus/libwarcraft
 public string ResolveInternalGroupName(ModelGroup modelGroup)
 {
     return this.RootInformation.GetInternalGroupName(modelGroup);
 }