Ejemplo n.º 1
0
 public bool Equals(TreeFoliageVariantKey other)
 {
     if (TextureIndex == other.TextureIndex && TextureStyle == other.TextureStyle)
     {
         return(PaintColor == other.PaintColor);
     }
     return(false);
 }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 3
0
        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);
        }