예제 #1
0
 public override void UpdateResourceSelection(MenuClickArgs args)
 {
     base.UpdateResourceSelection(args);
     if (args.Data != null && args.Data is ExperienceResource)
     {
         ExperienceResource resource = (ExperienceResource)args.Data;
         if (Enum.TryParse(args.Name.ToUpper(), out ExperienceType type))
         {
             Selection.ExperienceType = type;
         }
     }
 }
예제 #2
0
        /// <summary>
        /// Gameplay resource selection happens here.
        /// </summary>
        /// <param name="args"></param>
        public override void UpdateResourceSelection(MenuClickArgs args)
        {
            base.UpdateResourceSelection(args);
            if (args.Data != null && args.Data is ExperienceResource)
            {
                ExperienceResource resource = (ExperienceResource)args.Data;

                if (resource.ResourceType == ResourceType.AUDIO)
                {
                    Selection.VoiceOver = ((AudioResource)resource).Clip;

                    AudioArgs voArgs = new AudioArgs(Selection.VoiceOver, AudioType.VO);
                    voArgs.FadeTime = 2;
                    m_audio.Play(voArgs);
                    AudioSelectionFlag = true;
                }
            }

            //Apply selection to gameplay.
            //Selection can be accessed from Selection object.
        }
예제 #3
0
        protected virtual void OnExternalChanges(object sender, EventArgs e)
        {
            if (m_refreshCategory == null)
            {
                return;
            }

            ExperienceResource[] resources = new ExperienceResource[] { };
            resources = m_webInterface.GetResource(ResourceType.MEETING, m_refreshCategory);

            MenuItemInfo[] items = ResourceToMenuItems(resources);
            Clear();
            m_menuItems.Clear();

            //Debug.LogError("Refreshed: " + m_refreshCategory + " " + items.Length);

            foreach (var item in items)
            {
                SpawnMenuItem(item, m_menuItem, m_contentRoot);
            }
        }
예제 #4
0
        private void Refresh()
        {
            if (m_menuItems.Count == 0 || m_menuItems[0].Item.Data == null || m_menuItems[0].Item.Data.GetType() != typeof(MeetingResource))
            {
                return;
            }

            var sampleItem = m_menuItems[0].Item;

            ExperienceResource[] resources = new ExperienceResource[] { };
            resources = m_webInterface.GetResource(ResourceType.MEETING, m_refreshCategory);

            MenuItemInfo[] items = ResourceToMenuItems(resources);
            Clear();
            m_menuItems.Clear();

            //Debug.LogError("Refreshed: " + m_refreshCategory + " " + items.Length);

            foreach (var item in items)
            {
                SpawnMenuItem(item, m_menuItem, m_contentRoot);
            }
        }
예제 #5
0
        protected override void ExecuteSelectionCommand(MenuClickArgs args)
        {
            base.ExecuteSelectionCommand(args);
            ExperienceResource experienceResource = null;

            if (args.Data is ExperienceResource)
            {
                experienceResource = (ExperienceResource)args.Data;
            }

            if (experienceResource == null)
            {
                //Debug.LogError("Experience resource null");
                return;
            }

            if (experienceResource.ResourceType == ResourceType.EXPERIENCE)
            {
                if (Enum.TryParse(experienceResource.Name.ToUpper(), out ExperienceType type))
                {
                    Selection.ExperienceType = type;
                }
            }
        }
예제 #6
0
        public virtual void UpdateResourceSelection(MenuClickArgs args)
        {
            if (args.Data != null && args.Data is ExperienceResource)
            {
                ExperienceResource resource = (ExperienceResource)args.Data;
                if (resource.ResourceType == ResourceType.MUSIC)
                {   //Selection.Music = Array.Find(m_musicList, item => item.Clip == ((AudioResource)resource).Clip).Clip;
                    Selection.Music = ((AudioResource)resource).Clip;

                    AudioArgs audioStopArgs = new AudioArgs(null, AudioType.MUSIC)
                    {
                        FadeTime = 1.0f,
                        Done     = () =>
                        {
                            AudioClip audioClip = Selection.Music;
                            AudioArgs audioArgs = new AudioArgs(audioClip, AudioType.MUSIC)
                            {
                                FadeTime = 1
                            };
                            m_audio.Play(audioArgs);
                        }
                    };

                    m_audio.Stop(audioStopArgs);

                    //    var music = m_commonResource.GetResource(ResourceType.MUSIC, resource.Category);
                    //    Selection.Music = ((AudioResource)Array.Find(music, item => ((AudioResource)item).Clip == ((AudioResource)resource).Clip)).Clip;
                }


                if (resource.ResourceType == ResourceType.LOCATION)
                {
                    Selection.Location = resource.Name;
                }
            }
        }