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; } } }
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()); }
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)); }
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); } } } }
public bool IsSamePart(ref FashionPositionInfo newFpi) { return(fpi.Equals(newFpi) && processStatus >= EProcessStatus.EPreProcess); }
public bool Equals(ref FashionPositionInfo fpi) { return(fasionID == fpi.fasionID && equipName == fpi.equipName && presentName == fpi.presentName); }