Esempio n. 1
0
        /// <summary>
        /// Register the hud
        /// </summary>
        /// <param name="playerId"></param>
        /// <param name="part"></param>
        protected HudView RegisterHud(UUID playerId, SceneObjectPart part)
        {
            HudView hud;

            lock (m_localIdToHud)
            {
                HudView oldHud = null;

                // If a player logs in directly to the region, this will get fired both by the attachment and by the
                // make root agent procedure.
                if (m_playerIdToHud.ContainsKey(playerId))
                    oldHud = DeregisterHudByPlayerId(playerId);

                m_log.DebugFormat("[WATER WARS]: Registering hud {0} {1} for {2}", part.Name, part.LocalId, playerId);

                hud = new HudView(m_controller, part.ParentGroup.Scene, playerId);
                hud.Initialize(part);
                m_localIdToHud[part.LocalId] = hud;
                m_playerIdToHud[playerId] = hud;

                if (oldHud != null)
                    hud.SetTickerFromPreviousHud(oldHud);

                if (!m_controller.State.UpdateHudStatus(playerId))
                    ResetHud(playerId);

                // An experiment in trying to resolve hud display problems by forcing an update.  Unfortunately, works
                // occasionally but not at all often.
                /*
                Timer forceUpdateTimer = new Timer(2000);
                forceUpdateTimer.AutoReset = false;
                forceUpdateTimer.Elapsed
                    += new ElapsedEventHandler(
                        delegate(object source, ElapsedEventArgs e)
                        {
                            m_log.InfoFormat("[WATER WARS]: Forcing hud client update for {0}", playerId);
                            part.ParentGroup.SendGroupFullUpdate();
                        }
                    );
                forceUpdateTimer.Start();
                */

                return hud;
            }
        }
Esempio n. 2
0
 public void SetTickerFromPreviousHud(HudView oldHud)
 {
     m_tickerButton.m_visibleTickText = oldHud.m_tickerButton.m_visibleTickText;
     m_tickerButton.m_bufferedTickText = oldHud.m_tickerButton.m_bufferedTickText;
 }
Esempio n. 3
0
 public void SetTickerFromPreviousHud(HudView oldHud)
 {
     m_tickerButton.m_visibleTickText  = oldHud.m_tickerButton.m_visibleTickText;
     m_tickerButton.m_bufferedTickText = oldHud.m_tickerButton.m_bufferedTickText;
 }