示例#1
0
        private static int FindIndexOfProvider(IFutureProvider provider, IList <Token> loadedTokens)
        {
            for (var i = 0; i < loadedTokens.Count; i++)
            {
                var token = loadedTokens[i];
                if (token == (Token)provider)
                {
                    return(i);
                }
            }

            return(-1);
        }
示例#2
0
        public int NotifyFuture(Cutscene cutscene, Type type, IFutureProvider provider, string futureName)
        {
            if (string.IsNullOrEmpty(futureName))
            {
                futureName = DefaultFutureName;
            }

            var array = new byte[sizeof(int)];

            FutureIDGenerator.GetBytes(array);
            var id         = BitConverter.ToInt32(array, 0);
            var providerId = FindIndexOfProvider(provider, cutscene);
            var future     = new ExpectedFuture(providerId, id, type, futureName);

            futures.Add(future);
            return(id);
        }
示例#3
0
 public int NotifyFuture <T>(IFutureProvider provider, string futureName) where T : Object
 {
     return(FutureManager.NotifyFuture <T>(this, provider, futureName));
 }
示例#4
0
 public int NotifyFuture <T>(Cutscene cutscene, IFutureProvider provider, string futureName) where T : Object
 {
     return(NotifyFuture(cutscene, typeof(T), provider, futureName));
 }