Example #1
0
 public ContextSubEntity(SubEntityBindingPointCategoryEnum category, sbyte bindingPointIndex,
                         ContextActorLook subActorLook)
 {
     this.Category          = category;
     this.BindingPointIndex = bindingPointIndex;
     this.SubActorLook      = subActorLook;
 }
Example #2
0
        public ContextActorLook GetMountLook(ContextActorLook mountLook)
        {
            ContextActorLook newLook = mountLook.Clone();

            newLook.Colors = GetConvertedColors(mountLook.Colors.ToArray()).ToList();
            ContextSubEntity actorSub = new ContextSubEntity(SubEntityBindingPointCategoryEnum.HOOK_POINT_CATEGORY_MOUNT_DRIVER, 0,
                                                             new ContextActorLook(2, this.Skins, this.Colors, this.Scales, this.SubEntities));

            newLook.SubEntities.Add(actorSub);
            return(newLook);
        }
Example #3
0
        public override bool Equals(object obj)
        {
            ContextActorLook look = obj as ContextActorLook;

            if (obj == null)
            {
                return(false);
            }

            return(look.BonesId == this.BonesId && look.Colors.SequenceEqual(look.Colors) && look.Scales.SequenceEqual(this.Scales) && look.Skins.SequenceEqual(this.Skins) &&
                   this.SubEntities.SequenceEqual(this.SubEntities));
        }
 public ContextSubEntity(SubEntity subentity)
 {
     this.Category          = (SubEntityBindingPointCategoryEnum)subentity.bindingPointCategory;
     this.BindingPointIndex = subentity.bindingPointIndex;
     this.SubActorLook      = new ContextActorLook(subentity.subEntityLook);
 }
Example #5
0
        public static string ConvertToString(ContextActorLook look)
        {
            #region Code
            System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder();
            stringBuilder.Append("{");
            int num = 0;
            stringBuilder.Append(look.BonesId);
            if (look.Skins == null || !look.Skins.Any <ushort>())
            {
                num++;
            }
            else
            {
                stringBuilder.Append("|".ConcatCopy(num + 1));
                num = 0;
                stringBuilder.Append(string.Join <ushort>(",", look.Skins));
            }
            if (look.Colors == null)
            {
                num++;
            }
            else
            {
                stringBuilder.Append("|".ConcatCopy(num + 1));
                num = 0;

                List <string> values = new List <string>();

                int i = 0;
                foreach (var color in look.Colors)
                {
                    i++;
                    values.Add(i + "=" + color);
                }

                stringBuilder.Append(string.Join(",", values));
            }
            if (look.Scales == null)
            {
                num++;
            }
            else
            {
                stringBuilder.Append("|".ConcatCopy(num + 1));
                num = 0;
                stringBuilder.Append(string.Join <short>(",", look.Scales));
            }
            if (look.SubEntities.Count() == 0)
            {
                num++;
            }
            else
            {
                List <string> subEntitiesAsString = new List <string>();
                foreach (var sub in look.SubEntities)
                {
                    StringBuilder subBuilter = new System.Text.StringBuilder();
                    subBuilter.Append((sbyte)sub.Category);
                    subBuilter.Append("@");
                    subBuilter.Append(sub.BindingPointIndex);
                    subBuilter.Append("=");
                    subBuilter.Append(ConvertToString(sub.SubActorLook));
                    subEntitiesAsString.Add(subBuilter.ToString());
                }
                stringBuilder.Append("|".ConcatCopy(num + 1));
                stringBuilder.Append(string.Join <string>(",",
                                                          from entry in subEntitiesAsString
                                                          select entry));
            }
            stringBuilder.Append("}");
            return(stringBuilder.ToString());

            #endregion
        }
Example #6
0
 public int RemoveSubEntities(ContextActorLook look, SubEntityBindingPointCategoryEnum category)
 {
     return(look.SubEntities.RemoveAll(x => x.Category == category));
 }