Exemple #1
0
 public virtual void Load(ref FashionPositionInfo newFpi, HashSet <string> loadedPath)
 {
     if (loadedPath != null)
     {
         if (!string.IsNullOrEmpty(location) && !loadedPath.Contains(location))
         {
             loadedPath.Add(location);
         }
         else
         {
             processStatus = EProcessStatus.EProcessed;
         }
     }
 }
Exemple #2
0
    public override void Load(ref FashionPositionInfo newFpi, HashSet <string> loadedPath)
    {
        bool same = IsSamePart(ref newFpi);

        if (!same)
        {
            if (MakePath(ref newFpi, loadedPath))
            {
                mesh = XResources.Load <Mesh>(location, AssetType.Asset);
                tex  = XResources.Load <Texture>(location, AssetType.TGA);
                if (processStatus == EProcessStatus.EProcessing)
                {
                    processStatus = EProcessStatus.EPreProcess;
                }
            }
        }
    }
    public void EquipAll(FashionPositionInfo[] fashionList)
    {
        if (fashionList == null)
        {
            XDebug.LogError("null fashion list");
            return;
        }
        HashSet <string> loadPath = new HashSet <string>();

        for (int i = 0, imax = fashionList.Length; i < imax; ++i)
        {
            FashionPositionInfo fpi  = fashionList[i];
            BaseLoadTask        task = parts[i];
            task.Load(ref fpi, loadPath);
        }
        Combine();
    }
 public void AttachWeapon(string path)
 {
     if (fashionList != null)
     {
         FashionPositionInfo fpi = new FashionPositionInfo();
         fpi.equipName = "weapon/" + path;
         if (fashionList.Count > 8)
         {
             fashionList[8] = fpi;
         }
         else
         {
             fashionList.Add(fpi);
         }
         EquipAll(fashionList.ToArray());
     }
 }
    public void EquipPart(EquipPart part)
    {
        fashionList = new List <FashionPositionInfo>();
        FashionPositionInfo fpi = new FashionPositionInfo();

        fpi.fasionID    = 0;
        fpi.presentName = "0";
        fpi.replace     = false;
        fpi.equipName   = "";
        for (int i = 0; i < part.partPath.Length; ++i) //length = 8
        {
            string path = part.partPath[i];
            if (string.IsNullOrEmpty(path))
            {
                path = XEquipUtil.GetDefaultPath((EPartType)i, (entity as NativeRole).defEquip);
            }
            fpi.equipName = path;
            fashionList.Add(fpi);
        }
        EquipAll(fashionList.ToArray());
    }
Exemple #6
0
 public bool MakePath(ref FashionPositionInfo newFpi, HashSet <string> loadedPath)
 {
     fpi = newFpi;
     if (!string.IsNullOrEmpty(fpi.equipName))
     {
         location      = "Equipments/" + fpi.equipName;
         processStatus = EProcessStatus.EProcessing;
     }
     if (loadedPath != null)
     {
         if (!string.IsNullOrEmpty(location) && !loadedPath.Contains(location))
         {
             loadedPath.Add(location);
             return(true);
         }
         else
         {
             processStatus = EProcessStatus.EProcessed;
             return(false);
         }
     }
     return(!string.IsNullOrEmpty(location));
 }
Exemple #7
0
 public override void Load(ref FashionPositionInfo newFpi, HashSet <string> loadedPath)
 {
     if (!IsSamePart(ref newFpi))
     {
         if (MakePath(ref newFpi, loadedPath))
         {
             if (goInstance != null)
             {
                 GameObject.Destroy(goInstance);
             }
             goInstance = XResources.Load <GameObject>(location, AssetType.Prefab);
             LoadFinish(this);
             ProcessTransfer();
         }
         else
         {
             if (string.IsNullOrEmpty(location))
             {
                 processStatus = EProcessStatus.EProcessing;
                 LoadFinish(this);
             }
         }
     }
 }
Exemple #8
0
 public bool IsSamePart(ref FashionPositionInfo newFpi)
 {
     return(fpi.Equals(newFpi) && processStatus >= EProcessStatus.EPreProcess);
 }
Exemple #9
0
 public bool Equals(ref FashionPositionInfo fpi)
 {
     return(fasionID == fpi.fasionID && equipName == fpi.equipName && presentName == fpi.presentName);
 }