public bool Equals(TreeFoliageVariantKey other) { if (TextureIndex == other.TextureIndex && TextureStyle == other.TextureStyle) { return(PaintColor == other.PaintColor); } return(false); }
public void RequestTreeBranch(ref TreeFoliageVariantKey lookupKey) { if (!_treeBranchRenders.TryGetValue(lookupKey, out TreeBranchTargetHolder value)) { value = new TreeBranchTargetHolder { Key = lookupKey }; _treeBranchRenders.Add(lookupKey, value); } if (!value.IsReady) { _requests.Add(value); } }
public Texture2D TryGetTreeBranchAndRequestIfNotReady(int treeTopIndex, int treeTopStyle, int paintColor) { TreeFoliageVariantKey treeFoliageVariantKey = default(TreeFoliageVariantKey); treeFoliageVariantKey.TextureIndex = treeTopIndex; treeFoliageVariantKey.TextureStyle = treeTopStyle; treeFoliageVariantKey.PaintColor = paintColor; TreeFoliageVariantKey lookupKey = treeFoliageVariantKey; if (_treeBranchRenders.TryGetValue(lookupKey, out TreeBranchTargetHolder value) && value.IsReady) { return(value.Target); } RequestTreeBranch(ref lookupKey); return(null); }