Пример #1
0
        /// <summary>
        /// Pass name of ActivityBase-derived class.
        /// Default to finishing current activity even
        /// if we don't find the new one.
        /// </summary>
        /// <param name="name"></param>
        /// <param name="finishCurrent"></param>
        public void SetActivity(string name, bool finishCurrent = true)
        {
            if (finishCurrent && currentActivity != null)
            {
                Debug.Log("Finishing current activity: " + currentActivity.GetType().Name);

                currentActivity.Finish();
                currentActivity = null;
            }

            for (int i = 0; i < activities.Length; i++)
            {
                if (activities[i].GetType().Name == name)
                {
                    Debug.Log("Starting new activity: " + name);

                    currentActivity = activities[i];
                    currentActivity.Initialize();

                    break;
                }
            }

            if (!currentActivity)
            {
                Debug.LogWarning("Activity not found: " + name);
            }
        }
Пример #2
0
        public void SetActivity(ActivityBase activity, bool finishCurrent = true)
        {
            if (finishCurrent && currentActivity != null)
            {
                Debug.Log("Finishing current activity: " + currentActivity.GetType().Name);

                currentActivity.Finish();
                currentActivity = null;
            }

            currentActivity = activity;

            if (currentActivity)
            {
                currentActivity.Initialize();
            }
        }
Пример #3
0
        public void SetActivity(System.Type type, bool finishCurrent = true)
        {
            if (finishCurrent && currentActivity != null)
            {
                Debug.Log("Finishing current activity: " + currentActivity.GetType().Name);

                currentActivity.Finish();
                currentActivity = null;
            }

            currentActivity = activities.SingleOrDefault(s => s.GetType() == type);
            Debug.Assert(currentActivity, "No activity found that matches type " + type);

            if (currentActivity)
            {
                currentActivity.Initialize();
            }
        }