Beispiel #1
0
        public static long Get(this NavmeshComponent self, string name)
        {
            long ptr;

            if (self.Navmeshs.TryGetValue(name, out ptr))
            {
                return(ptr);
            }

            byte[] buffer = self.Loader(name);
            if (buffer.Length == 0)
            {
                throw new Exception($"no nav data: {name}");
            }

            ptr = Recast.RecastLoadLong(name.GetHashCode(), buffer, buffer.Length);
            self.Navmeshs[name] = ptr;

            return(ptr);
        }
Beispiel #2
0
 public override void Awake(NavmeshComponent self, Func <string, byte[]> loader)
 {
     NavmeshComponent.Instance = self;
     self.Loader = loader;
 }