public override IEnumerator Load(Delegates.FloatValue onProgress, Delegates.Action onLoaded)
        {
            GameObject controllers = new GameObject("Controllers");

            controllers.AddComponent <SettingsController>();
            controllers.AddComponent <SaveController>();
            controllers.AddComponent <GameplayController>();
            controllers.AddComponent <EffectsController>();
            controllers.AddComponent <InputController>();

#if MMDevelop
            controllers.AddComponent <DevController>();
#endif

            if (onProgress != null)
            {
                onProgress.Invoke(1);
            }

            if (onLoaded != null)
            {
                onLoaded.Invoke();
            }

            yield return(null);
        }
        protected override IEnumerator LoadSetup(Delegates.FloatValue onProgress, Delegates.Action onLoaded)
        {
            Transform effects = new GameObject("Effects").transform;

            Setup.Arrow.Instantiate <GameObject>(effects);

            yield return(null);
        }
示例#3
0
 public static void Exception <TException>(Delegates.Action action)
     where TException  : Exception
 {
     try
     {
         action();
         Assert.False(true, "Should have thrown exception");
     }
     catch (TException)
     {
     }
 }
示例#4
0
 public static void Exception <TException>(string message, Delegates.Action action)
     where TException : Exception
 {
     try
     {
         action();
         Assert.False(true, "Should have thrown exception");
     }
     catch (TException e)
     {
         Assert.Equal(message, e.Message);
     }
 }
        protected override IEnumerator LoadSetup(Delegates.FloatValue onProgress, Delegates.Action onLoaded)
        {
            foreach (var item in Setup.Items)
            {
                BaseItem baseItem = ObjectManager.Load <BaseItem>(item.Name, item.BundleID);
                if (baseItem != null)
                {
                    Items.Add(baseItem.ID, baseItem);
                }
                else
                {
                    UnityEngine.Debug.LogError(string.Format("Item setup not found: {0}.{1}", item.BundleID, item.Name));
                }
            }

            yield return(null);
        }
示例#6
0
        public static IEnumerator RunQueue(Delegates.Action onLoaded)
        {
            queueCount = Queue.Count;
            while (Queue.Count > 0)
            {
                queueProgress = 0;
                yield return(Queue[0].Load((progress) =>
                {
                    queueProgress = progress;
                }, () =>
                {
                    --queueCount;
                    Queue.RemoveAt(0);
                }));
            }

            if (onLoaded != null)
            {
                onLoaded.Invoke();
            }
        }
        public override IEnumerator Load(Delegates.FloatValue onProgress, Delegates.Action onLoaded)
        {
            if (onProgress != null)
            {
                onProgress.Invoke(0);
            }

            yield return(LoadSetup(onProgress, onLoaded));

            if (onProgress != null)
            {
                onProgress.Invoke(1);
            }

            if (onLoaded != null)
            {
                onLoaded.Invoke();
            }

            Setup = null;
        }
示例#8
0
 public void Disconnect()
 {
     nlogger.Info("RemoteConnectLib::Disconnect start");
     _Connected = false;
     try
     {
         Delegates.Action <string, string> disconnectDelegate = new Delegates.Action <string, string>(Obj.Disconnect);
         IAsyncResult ar = disconnectDelegate.BeginInvoke(_CurrentUserID, _OurName, null, disconnectDelegate);
         ar.AsyncWaitHandle.WaitOne(3000, false);
         if (ar.IsCompleted)
         {
             try { disconnectDelegate.EndInvoke(ar); }
             catch { }
         }
         ((ICommunicationObject)_TesterObject).Close();
         // TODO : ((ICommunicationObject)m_testerObjectStreaming).Close();
     }
     catch (System.Exception ex)
     {
         nlogger.Info("RemoteConnectLib::Disconnect delegate error [ex.message:{0}]", ex.Message);
     }
     nlogger.Info("RemoteConnectLib::Disconnect end");
 }
        protected override IEnumerator LoadSetup(Delegates.FloatValue onProgress, Delegates.Action onLoaded)
        {
            Transform World = new GameObject("World").transform;

            onProgress(.01f);

            Setup.Map.Instantiate <GameObject>(World);
            onProgress(.02f);

            Setup.Player.Instantiate <GameObject>(World);
            onProgress(.03f);

            yield return(Load <GameObject>(Setup.Trees, "Trees", World));

            onProgress(.13f);
            yield return(Load <GameObject>(Setup.Clouds, "Clouds", World));

            onProgress(.23f);
            yield return(Load <GameObject>(Setup.Rocks, "Rocks", World));

            onProgress(.33f);
            yield return(Load <GameObject>(Setup.Items, "Items", World));
        }
示例#10
0
 public abstract IEnumerator Load(Delegates.FloatValue onProgress, Delegates.Action onLoaded);
 protected abstract IEnumerator LoadSetup(Delegates.FloatValue onProgress, Delegates.Action onLoaded);