//Shuffle Parts Icons public Part[] ShufflePartIcons(Part.PartCategory pCategory) { Debug.Log("ShufflePartIcons"); Dictionary <string, Part> partTable = GetPartCategoryTable(pCategory); int i = 0; Part.FrameID[] frameIds = new Part.FrameID[partTable.Count]; foreach (Part part in partTable.Values) { frameIds[i] = part.partIconFrameID; i++; } Shuffle(frameIds); Shuffle(frameIds); Shuffle(frameIds); //Randomize part frame icons i = 0; Part[] parts = new Part[partTable.Count]; foreach (Part part in partTable.Values) { //partTable[part.partId.ToString()].partIconFrameID = frameIds[i]; part.partIconFrameID = frameIds[i]; parts[i] = part; i++; } return(parts); }
private void Shuffle(Part.FrameID[] pArray) { for (int t = 0; t < pArray.Length; t++) { Part.FrameID tmp = pArray[t]; int r = Random.Range(t, pArray.Length); pArray[t] = pArray[r]; pArray[r] = tmp; } }
public void SetPanel(Part.PartID pPartId, Part.FrameID pFrameId) { try { mPartPanel.SetFrame((int)pPartId); mPartIcon.SetFrame((int)pFrameId); } catch { } }
//The following static functions are used to convert from string to enum values. public static Part.FrameID ParseFrameEnum(string value) { Part.FrameID frameEnum = (Part.FrameID)System.Enum.Parse(typeof(Part.FrameID), value); return(frameEnum); }