// Generated AddToManagers public virtual void ReAddToManagers(Layer layerToAddTo) { LayerProvidedByContainer = layerToAddTo; SpriteManager.AddPositionedObject(this); GuiManager.AddWindow(this); SpriteManager.AddToLayer(PlayerSprite, LayerProvidedByContainer); }
public virtual void AddToManagers(Layer layerToAddTo) { LayerProvidedByContainer = layerToAddTo; SpriteManager.AddPositionedObject(this); GuiManager.AddWindow(this); SpriteManager.AddToLayer(PlayerSprite, LayerProvidedByContainer); AddToManagersBottomUp(layerToAddTo); CustomInitialize(); }
// Generated AddToManagers public virtual void ReAddToManagers(Layer layerToAddTo) { LayerProvidedByContainer = layerToAddTo; SpriteManager.AddPositionedObject(this); GuiManager.AddWindow(this); TextManager.AddToLayer(LabelText, LayerProvidedByContainer); if (LabelText.Font != null) { LabelText.SetPixelPerfectScale(LayerProvidedByContainer); } }
// Generated AddToManagers public virtual void ReAddToManagers(Layer layerToAddTo) { LayerProvidedByContainer = layerToAddTo; SpriteManager.AddPositionedObject(this); GuiManager.AddWindow(this); VictoryTextLabel.ReAddToManagers(LayerProvidedByContainer); PlayAgainText.ReAddToManagers(LayerProvidedByContainer); NoButton.ReAddToManagers(LayerProvidedByContainer); YesButton.ReAddToManagers(LayerProvidedByContainer); SpriteManager.AddToLayer(BackgroundSprite, LayerProvidedByContainer); }
public IObjectDisplayer GetObjectDisplayerForObject(object objectToDisplay, Window requestingWindow, string memberName, out bool isNewWindow) { IObjectDisplayer requestingWindowAsObjectDisplayer = requestingWindow as IObjectDisplayer; if (mObjectDisplayers.ContainsKey(objectToDisplay)) { isNewWindow = false; return(mObjectDisplayers[objectToDisplay]); } else //Definitely creating a new ObjectDisplayer. { #region Remove existing windows depending on the new window limitation switch (mNewWindowLimitation) { #region By Type case NewWindowLimitation.ByType: // if there is already something showing this type, get rid of it Type typeOfObject = objectToDisplay.GetType(); foreach (KeyValuePair <object, IObjectDisplayer> kvp in mObjectDisplayers) { if (kvp.Key.GetType() == typeOfObject) { if (mObjectDisplayers[kvp.Key] is Window) { ((Window)mObjectDisplayers[kvp.Key]).CloseWindow(); } else { throw new NotImplementedException("We don't currently support IObjectDisplayers that are not Windows."); } break; } } break; #endregion #region By Requesting Window case NewWindowLimitation.ByRequestingWindow: if (requestingWindow != null) { if (mWindowFamilies.ContainsKey(requestingWindowAsObjectDisplayer)) { Window windowToGetRidOf = mWindowFamilies[requestingWindowAsObjectDisplayer] as Window; // Any Window that is created through this object // will have its Closing event remove itself from the // GuiManager. windowToGetRidOf.CloseWindow(); } } break; #endregion default: break; } #endregion #region Create the new IObjectDisplayer, add it to the by-object dictionary, and assign it its ObjectDisplaying isNewWindow = true; IObjectDisplayer newObjectDisplayer = CreateObjectDisplayer(objectToDisplay, requestingWindow, memberName); newObjectDisplayer.ObjectDisplayingAsObject = objectToDisplay; mObjectDisplayers.Add(objectToDisplay, newObjectDisplayer); #endregion #region If the newly-created object displayer is a Window, then add it to the GuiManager and give it the appropriate events if (newObjectDisplayer is Window) { Window asWindow = newObjectDisplayer as Window; GuiManager.AddWindow(asWindow); asWindow.HasCloseButton = true; asWindow.HasMoveBar = true; asWindow.Closing += RemovalOfWatchedWindow; } #endregion #region We have a parent window of this new object if (mNewWindowLimitation == NewWindowLimitation.ByRequestingWindow && requestingWindow != null) { mWindowFamilies.Add(requestingWindowAsObjectDisplayer, newObjectDisplayer); } #endregion return(newObjectDisplayer); } }