Exemple #1
0
 public unsafe bool MakeDataShared()
 {
     isCAbilityDataUnique.TryGetValue(AsIntPtr(), out bool flag);
     if (!flag)
     {
         return(false);
     }
     SMem.Free((void *)Data, 0);
     Data = AbilDataCacheNode.FromId(AbilityId);
     isCAbilityDataUnique[AsIntPtr()] = false;
     return(true);
 }
        public unsafe AbilDataCacheNode *Clone()
        {
            fixed(AbilDataCacheNode *abilDataCacheNodePtr1 = &this)
            {
                AbilDataCacheNode *abilDataCacheNodePtr2 = (AbilDataCacheNode *)SMem.Alloc(sizeof(AbilDataCacheNode), 0);

                Memory.Copy(new IntPtr((void *)abilDataCacheNodePtr1), new IntPtr((void *)abilDataCacheNodePtr2), sizeof(AbilDataCacheNode));
                AbilityLevelData *abilityLevelDataPtr = (AbilityLevelData *)SMem.Alloc(sizeof(AbilityLevelData) * Levels, 0);

                Memory.Copy(new IntPtr((void *)Level), new IntPtr((void *)abilityLevelDataPtr), sizeof(AbilityLevelData) * Levels);
                abilDataCacheNodePtr2->Level = abilityLevelDataPtr;
                return(abilDataCacheNodePtr2);
            }
        }