本文整理汇总了C#中World.Add方法的典型用法代码示例。如果您正苦于以下问题:C# World.Add方法的具体用法?C# World.Add怎么用?C# World.Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类World
的用法示例。
在下文中一共展示了World.Add方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Shoot
public override void Shoot(World world)
{
Rocket rocket1 = Game.Objects.CreateRocket(Owner.Position + new Vector2(-40f * Maf.Cos(Owner.Rotation), -40f * Maf.Sin(Owner.Rotation)), Owner.Speed, Owner.Rotation);
Rocket rocket2 = Game.Objects.CreateRocket(Owner.Position + new Vector2(40f * Maf.Cos(Owner.Rotation), 40f * Maf.Sin(Owner.Rotation)), Owner.Speed, Owner.Rotation);
world.Add(rocket1);
world.Add(rocket2);
}
示例2: LoadContent
/// <summary>
/// LoadContent will be called once per game and is the place to load
/// all of your content.
/// </summary>
protected override void LoadContent()
{
// Create a new SpriteBatch, which can be used to draw textures.
spriteBatch = new SpriteBatch(GraphicsDevice);
TextureManager.LoadContents(Content);
FontManager.LoadContents(Content);
//initializing here because they are dependent on content managers
background = new Background(Width, Height, TextureManager.GetTexture(TextureNames.BACKGROUND));
world = WorldGenerator.Generate(WorldNumber.One);
world.Add(new Player(PlayerNumber.One, new Vector2(200, 200)));
world.Add(new Player(PlayerNumber.Two, new Vector2(100, 100)));
ui = new UserInterface();
mainMenu = new MainMenu();
}
示例3: Shoot
public override void Shoot(World world)
{
var kickRocket = 60f;
SinPlasmaBullet plasmaBullet = Game.Objects.CreateSinPlasmaBullet();
plasmaBullet.Size = 10;
plasmaBullet.Position = Owner.Position + kickRocket * new Vector2(Maf.Sin(Owner.Rotation), -Maf.Cos(Owner.Rotation));
plasmaBullet.StartSpeed = Owner.Speed + Speed * new Vector2(Maf.Sin(Owner.Rotation), -Maf.Cos(Owner.Rotation));
plasmaBullet.Speed = plasmaBullet.StartSpeed;
world.Add(plasmaBullet);
}
示例4: Shoot
public override void Shoot(World world)
{
var kickRocket = 40f;
int countBullet = 7;
for (int i = -(countBullet / 2); i < (countBullet / 2) + 1; ++i)
{
float rot = Owner.Rotation + i * 0.1f;
PlasmaBullet plasmaBullet = Game.Objects.CreatePlasmaBullet();
plasmaBullet.Size = 10;
plasmaBullet.Position = Owner.Position + kickRocket * new Vector2(Maf.Sin(rot), -Maf.Cos(rot));
plasmaBullet.Speed = Owner.Speed + Speed * new Vector2(Maf.Sin(rot), -Maf.Cos(rot));
world.Add(plasmaBullet);
}
}
示例5: JunctionEditorScreen
/// <summary>
/// Erzeugt eine neue Instanz eines CreativeModeScreen-Objekts und initialisiert diese mit einem Knot3Game-Objekt game, sowie einem Knoten knot.
/// </summary>
public JunctionEditorScreen(GameCore game)
: base(game)
{
// die Spielwelt
world = new World (screen: this, drawOrder: DisplayLayer.GameWorld, bounds: Bounds.FromLeft (0.60f));
// der Input-Handler
knotInput = new KnotInputHandler (screen: this, world: world);
// der Mauszeiger
pointer = new MousePointer (screen: this);
// der Maus-Handler für die 3D-Modelle
modelMouseHandler = new ModelMouseHandler (screen: this, world: world);
// der Knoten-Renderer
knotRenderer = new JunctionEditorRenderer (screen: this, position: Vector3.Zero);
world.Add (knotRenderer);
// visualisiert die BoundingSpheres
debugBoundings = new DebugBoundings (screen: this, position: Vector3.Zero);
world.Add (debugBoundings);
// Hintergrund
SkyCube skyCube = new SkyCube (screen: this, position: Vector3.Zero, distance: 10000);
world.Add (skyCube);
// Backbutton
backButton = new MenuEntry (
screen: this,
drawOrder: DisplayLayer.Overlay + DisplayLayer.MenuItem,
name: "Back",
onClick: (time) => NextScreen = new StartScreen (Game)
);
backButton.AddKey (Keys.Escape);
backButton.IsVisible = true;
// Menü
settingsMenu = new Menu (this, DisplayLayer.Overlay + DisplayLayer.Menu);
settingsMenu.Bounds = Bounds.FromRight (0.40f).FromBottom (0.9f).FromLeft (0.8f);
settingsMenu.Bounds.Padding = new ScreenPoint (this, 0.010f, 0.010f);
settingsMenu.RelativeItemHeight = 0.030f;
float[] validJunctionCounts = new float[] { 1, 2, 3 };
optionJunctionCount = new FloatOption (
section: "debug",
name: "debug_junction_count",
defaultValue: validJunctionCounts.At (-1),
validValues: validJunctionCounts,
configFile: Config.Default
);
itemJunctionCount = new ComboBox (
screen: this,
drawOrder: DisplayLayer.Overlay + DisplayLayer.MenuItem,
text: "Junctions #"
);
itemJunctionCount.AddEntries (optionJunctionCount);
itemJunctionCount.ValueChanged += OnJunctionCountChanged;
Direction[] validDirections = Direction.Values;
optionJuctionDirection = new DistinctOption [3];
itemJunctionDirection = new ComboBox [3];
for (int i = 0; i < 3; ++i) {
DistinctOption option = new DistinctOption (
section: "debug",
name: "debug_junction_direction" + i.ToString (),
defaultValue: validDirections [i * 2],
validValues: validDirections.Select (d => d.Name),
configFile: Config.Default
);
ComboBox item = new ComboBox (
screen: this,
drawOrder: DisplayLayer.Overlay + DisplayLayer.MenuItem,
text: Localizer.Localize ("Direction ") + i.ToString ()
);
item.AddEntries (option);
optionJuctionDirection [i] = option;
item.ValueChanged += OnDirectionsChanged;
itemJunctionDirection [i] = item;
}
itemBumpRotation = new ComboBox [3];
for (int i = 0; i < 3; ++i) {
ComboBox item = new ComboBox (
screen: this,
drawOrder: DisplayLayer.Overlay + DisplayLayer.MenuItem,
text: Localizer.Localize ("Bump Angle ") + i.ToString ()
);
item.ValueChanged += OnAnglesChanged;
itemBumpRotation [i] = item;
}
itemModels = new ComboBox [3];
for (int i = 0; i < 3; ++i) {
ComboBox item = new ComboBox (
screen: this,
drawOrder: DisplayLayer.Overlay + DisplayLayer.MenuItem,
text: Localizer.Localize ("Model ") + i.ToString ()
);
item.ValueChanged += OnModelsChanged;
//.........这里部分代码省略.........
示例6: VisualTestsScreen
/// <summary>
/// Erzeugt eine neue Instanz eines CreativeModeScreen-Objekts und initialisiert diese mit einem Knot3Game-Objekt game, sowie einem Knoten knot.
/// </summary>
public VisualTestsScreen(GameCore game)
: base(game)
{
// die Spielwelt
world = new World (screen: this, drawOrder: DisplayLayer.GameWorld, bounds: Bounds.FromLeft (0.60f));
// der Knoten-Renderer
knotRenderer = new KnotRenderer (screen: this, position: Vector3.Zero);
world.Add (knotRenderer);
// Hintergrund
//SkyCube skyCube = new SkyCube (screen: this, position: Vector3.Zero, distance: world.Camera.MaxPositionDistance + 500);
//world.Add (skyCube);
// Menü
settingsMenu = new Menu (this, DisplayLayer.Overlay + DisplayLayer.Menu);
settingsMenu.Bounds = Bounds.FromRight (0.40f).FromBottom (0.9f).FromLeft (0.8f);
settingsMenu.Bounds.Padding = new ScreenPoint (this, 0.010f, 0.010f);
settingsMenu.RelativeItemHeight = 0.030f;
float[] validEdgeCounts = new float[] { 500, 1000, 2000, 3000, 4000, 5000, 7500, 10000, 15000 };
optionEdgeCount = new FloatOption (
section: "visualtests",
name: "edgecount",
defaultValue: validEdgeCounts.At (0),
validValues: validEdgeCounts,
configFile: Config.Default
) { Verbose = false };
optionEdgeCount.Value = validEdgeCounts.At (0);
itemEdgeCount = new ComboBox (
screen: this,
drawOrder: DisplayLayer.Overlay + DisplayLayer.MenuItem,
text: "Edges:"
);
itemEdgeCount.AddEntries (optionEdgeCount);
itemEdgeCount.ValueChanged += OnEdgeCountChanged;
itemDisplayTime = new InputItem (
screen: this,
drawOrder: DisplayLayer.Overlay + DisplayLayer.MenuItem,
text: "Time:",
inputText: ""
);
itemFPS = new InputItem (
screen: this,
drawOrder: DisplayLayer.Overlay + DisplayLayer.MenuItem,
text: "FPS:",
inputText: ""
);
OnEdgeCountChanged (null);
}
示例7: CreativeLoadScreen
/// <summary>
/// Erzeugt ein neues CreativeLoadScreen-Objekt und initialisiert dieses mit einem Knot3Game-Objekt.
/// </summary>
public CreativeLoadScreen(GameCore game)
: base(game)
{
savegameMenu = new Menu (this, DisplayLayer.ScreenUI + DisplayLayer.Menu);
savegameMenu.Bounds.Position = ScreenContentBounds.Position;
savegameMenu.Bounds.Size = new ScreenPoint (this, 0.300f, ScreenContentBounds.Size.Relative.Y);
savegameMenu.Bounds.Padding = new ScreenPoint (this, 0.010f, 0.010f);
savegameMenu.ItemAlignX = HorizontalAlignment.Left;
savegameMenu.ItemAlignY = VerticalAlignment.Center;
savegameMenu.ItemBackgroundColor = Design.ComboBoxItemBackgroundColorFunc;
savegameMenu.ItemForegroundColor = Design.ComboBoxItemForegroundColorFunc;
savegameMenu.RelativeItemHeight = Design.DataItemHeight;
lines.AddPoints (.000f, .050f, .030f, .970f, .620f, .895f, .740f, .970f, .760f, .895f, .880f, .970f, .970f, .050f, 1.000f);
title = new TextItem (screen: this, drawOrder: DisplayLayer.ScreenUI + DisplayLayer.MenuItem, text: "Load Knot");
title.Bounds.Position = ScreenTitleBounds.Position;
title.Bounds.Size = ScreenTitleBounds.Size;
title.ForegroundColorFunc = (s) => Color.White;
infoTitle = new TextItem (screen: this, drawOrder: DisplayLayer.ScreenUI + DisplayLayer.MenuItem, text: "Knot Info:");
infoTitle.Bounds.Position = new ScreenPoint (this, 0.45f, 0.62f);
infoTitle.Bounds.Size = new ScreenPoint (this, 0.900f, 0.050f);
infoTitle.ForegroundColorFunc = (s) => Color.White;
knotInfo = new Menu (this, DisplayLayer.ScreenUI + DisplayLayer.Menu);
knotInfo.Bounds.Position = new ScreenPoint (this, 0.47f, 0.70f);
knotInfo.Bounds.Size = new ScreenPoint (this, 0.300f, 0.500f);
knotInfo.Bounds.Padding = new ScreenPoint (this, 0.010f, 0.010f);
knotInfo.ItemAlignX = HorizontalAlignment.Left;
knotInfo.ItemAlignY = VerticalAlignment.Center;
// Erstelle einen Parser für das Dateiformat
KnotFileIO fileFormat = new KnotFileIO ();
// Erstelle einen Spielstand-Loader
loader = new SavegameLoader<Knot, KnotMetaData> (fileFormat, "index-knots");
// Preview
Bounds previewBounds = new Bounds (this, 0.45f, 0.1f, 0.48f, 0.5f);
previewWorld = new World (
screen: this,
drawOrder: DisplayLayer.ScreenUI + DisplayLayer.GameWorld,
bounds: previewBounds
);
previewRenderer = new KnotRenderer (screen: this, position: Vector3.Zero);
previewWorld.Add (previewRenderer);
previewBorder = new Border (
screen: this,
drawOrder: DisplayLayer.GameWorld,
bounds: previewBounds,
lineWidth: 2,
padding: 0
);
previewInput = new KnotInputHandler (screen: this, world: previewWorld);
previewMouseHandler = new ModelMouseHandler (screen: this, world: previewWorld);
backButton = new Button (
screen: this,
drawOrder: DisplayLayer.ScreenUI + DisplayLayer.MenuItem,
name: "Back",
onClick: (time) => NextScreen = Game.Screens.Where ((s) => !(s is CreativeLoadScreen)).ElementAt (0)
);
backButton.AddKey (Keys.Escape);
backButton.SetCoordinates (left: 0.770f, top: 0.910f, right: 0.870f, bottom: 0.960f);
backButton.AlignX = HorizontalAlignment.Center;
startButton = new Button (
screen: this,
drawOrder: DisplayLayer.ScreenUI + DisplayLayer.MenuItem,
name: "Load",
onClick: (time) => NextScreen = new CreativeModeScreen (game: Game, knot: loader.FileFormat.Load (previewKnotMetaData.Filename))
);
startButton.IsVisible = false;
startButton.AddKey (Keys.Enter);
startButton.SetCoordinates (left: 0.630f, top: 0.910f, right: 0.730f, bottom: 0.960f);
startButton.AlignX = HorizontalAlignment.Center;
}
示例8: ChallengeModeScreen
/// <summary>
/// Erzeugt eine neue Instanz eines ChallengeModeScreen-Objekts und initialisiert diese mit einem Knot3Game-Objekt, einem Spielerknoten playerKnot und dem Knoten challengeKnot, den der Spieler nachbauen soll.
/// </summary>
public ChallengeModeScreen(GameCore game, Challenge challenge)
: base(game)
{
// world
PlayerWorld = new World (screen: this, drawOrder: DisplayLayer.GameWorld, bounds: Bounds.FromRight (percent: 0.5f));
ChallengeWorld = new World (screen: this, drawOrder: DisplayLayer.GameWorld, bounds: Bounds.FromLeft (percent: 0.5f));
ChallengeWorld.Camera = PlayerWorld.Camera;
PlayerWorld.OnRedraw += () => ChallengeWorld.Redraw = true;
ChallengeWorld.OnRedraw += () => PlayerWorld.Redraw = true;
// input
playerKnotInput = new KnotInputHandler (screen: this, world: PlayerWorld);
challengeKnotInput = new KnotInputHandler (screen: this, world: ChallengeWorld);
// overlay
overlay = new Overlay (screen: this, world: PlayerWorld);
// pointer
pointer = new MousePointer (screen: this);
// model mouse handler
playerModelMouseHandler = new ModelMouseHandler (screen: this, world: PlayerWorld);
challengeModelMouseHandler = new ModelMouseHandler (screen: this, world: ChallengeWorld);
// knot renderer
PlayerKnotRenderer = new KnotRenderer (screen: this, position: Vector3.Zero);
PlayerWorld.Add (PlayerKnotRenderer);
ChallengeKnotRenderer = new KnotRenderer (screen: this, position: Vector3.Zero);
ChallengeWorld.Add (ChallengeKnotRenderer);
// debug displays
debugBoundings = new DebugBoundings (screen: this, position: Vector3.Zero);
// edge movements
PlayerEdgeMovement = new EdgeMovement (screen: this, world: PlayerWorld, knotRenderer: PlayerKnotRenderer, position: Vector3.Zero);
PlayerEdgeMovement.KnotMoved = OnKnotMoved;
// assign the specified challenge
Challenge = challenge;
// assign the specified player knot
PlayerKnot = challenge.Start.Clone () as Knot;
// assign the specified target knot
ChallengeKnotRenderer.RenderKnot (challenge.Target);
// assign the specified start knot
PlayerKnotRenderer.RenderKnot (PlayerKnot);
SkyCube playerSkyCube = new SkyCube (screen: this, position: Vector3.Zero, distance: 10000);
PlayerWorld.Add (playerSkyCube);
SkyCube challengeSkyCube = new SkyCube (screen: this, position: Vector3.Zero, distance: 10000);
ChallengeWorld.Add (challengeSkyCube);
// Die Spielzeit-Anzeige
playTimeDisplay = new TextItem (screen: this, drawOrder: DisplayLayer.ScreenUI + DisplayLayer.MenuItem, text: String.Empty);
playTimeDisplay.Bounds.Position = new ScreenPoint (this, 0.800f, 0.01f);
playTimeDisplay.Bounds.Size = new ScreenPoint (this, 0.15f, 0.04f);
playTimeDisplay.BackgroundColorFunc = (s) => Design.WidgetBackground;
playTimeDisplay.ForegroundColorFunc = (s) => Design.WidgetForeground;
playTimeDisplay.AlignX = HorizontalAlignment.Center;
playTimeBorder = new Border (screen: this, drawOrder: DisplayLayer.ScreenUI + DisplayLayer.MenuItem,
widget: playTimeDisplay, lineWidth: 2, padding: 0);
//Undo-Button
undoButton = new Button (screen: this,
drawOrder: DisplayLayer.ScreenUI + DisplayLayer.MenuItem,
name: "Undo",
onClick: (time) => OnUndo ());
undoButton.SetCoordinates (left: 0.55f, top: 0.900f, right: 0.65f, bottom: 0.95f);
undoButtonBorder = new Border (screen: this, drawOrder: DisplayLayer.ScreenUI + DisplayLayer.MenuItem,
widget: undoButton, lineWidth: 2, padding: 0);
undoButton.AlignX = HorizontalAlignment.Center;
undoButton.IsVisible = false;
// Redo-Button
redoButton = new Button (
screen: this,
drawOrder: DisplayLayer.ScreenUI + DisplayLayer.MenuItem,
name: "Redo",
onClick: (time) => OnRedo ()
);
redoButton.SetCoordinates (left: 0.70f, top: 0.900f, right: 0.80f, bottom: 0.95f);
redoButtonBorder = new Border (screen: this, drawOrder: DisplayLayer.ScreenUI + DisplayLayer.MenuItem,
widget: redoButton, lineWidth: 2, padding: 0);
redoButton.AlignX = HorizontalAlignment.Center;
redoButton.IsVisible = false;
// die Linien
lines = new Lines (screen: this, drawOrder: DisplayLayer.Dialog, lineWidth: 2);
lines.AddPoints (0.500f, 0.000f, 0.500f, 1.000f);
// Status
state = ChallengeModeState.Start;
}
示例9: Initialize
/// <summary>
/// Initialize the Game.
/// </summary>
public override void Initialize()
{
// world
world = new World (this);
// input
knotInput = new KnotInputHandler (this, world);
// overlay
overlay = new Overlay (this, world);
// pointer
pointer = new MousePointer (this);
// picker
picker = new ModelMouseHandler (this, world);
// pipe renderer
var knotRenderInfo = new GameObjectInfo ();
knotRenderInfo.Position = Vector3.Zero;
renderer = new KnotRenderer (this, knotRenderInfo);
world.Add (renderer as IGameObject);
// pipe movements
movement = new EdgeMovement (this, world, knotRenderInfo);
world.Add (movement as IGameObject);
// pipe colors
coloring = new EdgeColoring (this);
// load nodes
Node.Scale = 100;
Knot = new Knot ();
}
示例10: Start
// Use this for initialization
void Start()
{
world = new World();
world.Add(new Unit());
world.Add(new WinRule());
}
示例11: Overlay
public Overlay(IScreen screen, World world)
: base(screen, DisplayLayer.Overlay)
{
// game world
World = world;
// create a new SpriteBatch, which can be used to draw textures
effect = new BasicEffect (screen.GraphicsDevice);
spriteBatch = new SpriteBatch (screen.GraphicsDevice);
effect.VertexColorEnabled = true;
effect.World = Matrix.CreateFromYawPitchRoll (0, 0, 0);
if (Config.Default ["video", "camera-overlay", false]) {
debugModel = new DebugModel (screen: screen);
world.Add (debugModel);
}
// load fonts
try {
font = Screen.LoadFont ("font-overlay");
}
catch (ContentLoadException ex) {
font = null;
Log.Debug (ex.Message);
}
}
示例12: CreativeModeScreen
/// <summary>
/// Erzeugt eine neue Instanz eines CreativeModeScreen-Objekts und initialisiert diese mit einem Knot3Game-Objekt game, sowie einem Knoten knot.
/// </summary>
public CreativeModeScreen(GameCore game, Knot knot)
: base(game)
{
// die Spielwelt
world = new World (screen: this, drawOrder: DisplayLayer.GameWorld, bounds: Bounds);
// der Input-Handler
knotInput = new KnotInputHandler (screen: this, world: world);
// das Overlay zum Debuggen
overlay = new Overlay (screen: this, world: world);
// der Mauszeiger
pointer = new MousePointer (screen: this);
// der Maus-Handler für die 3D-Modelle
modelMouseHandler = new ModelMouseHandler (screen: this, world: world);
// der Knoten-Renderer
knotRenderer = new KnotRenderer (screen: this, position: Vector3.Zero);
world.Add (knotRenderer);
// visualisiert die BoundingSpheres
debugBoundings = new DebugBoundings (screen: this, position: Vector3.Zero);
world.Add (debugBoundings);
// der Input-Handler zur Kanten-Verschiebung
edgeMovement = new EdgeMovement (screen: this, world: world, knotRenderer : knotRenderer, position: Vector3.Zero);
edgeMovement.KnotMoved = OnKnotMoved;
// der Input-Handler zur Kanten-Einfärbung
edgeColoring = new EdgeColoring (screen: this);
// Flächen zwischen Kanten
edgeRectangles = new EdgeRectangles (screen: this);
// assign the specified knot
Knot = knot;
// Hintergrund
Sky skyCube = new Sky (screen: this, position: Vector3.Zero);
world.Add (skyCube);
// Sonne
Sun sun = new Sun (screen: this);
world.Add (sun);
// Undo-Button
undoButton = new Button (
screen: this,
drawOrder: DisplayLayer.ScreenUI + DisplayLayer.MenuItem,
name: "Undo",
onClick: (time) => OnUndo ()
);
undoButton.SetCoordinates (left: 0.05f, top: 0.900f, right: 0.15f, bottom: 0.95f);
undoButton.AlignX = HorizontalAlignment.Center;
undoButton.IsVisible = false;
undoButtonBorder = new Border (screen: this, drawOrder: DisplayLayer.ScreenUI + DisplayLayer.MenuItem,
widget: undoButton, lineWidth: 2, padding: 0);
// Redo-Button
redoButton = new Button (
screen: this,
drawOrder: DisplayLayer.ScreenUI + DisplayLayer.MenuItem,
name: "Redo",
onClick: (time) => OnRedo ()
);
redoButton.SetCoordinates (left: 0.20f, top: 0.900f, right: 0.30f, bottom: 0.95f);
redoButton.AlignX = HorizontalAlignment.Center;
redoButton.IsVisible = false;
redoButtonBorder = new Border (screen: this, drawOrder: DisplayLayer.ScreenUI + DisplayLayer.MenuItem,
widget: redoButton, lineWidth: 2, padding: 0);
invisible = new Button (
screen: this,
drawOrder: DisplayLayer.ScreenUI + DisplayLayer.MenuItem,
name: "menu",
onClick: (time) => {
// erstelle einen neuen Pausedialog
knotInput.IsEnabled = false;
Dialog pauseDialog = new CreativePauseDialog (screen: this, drawOrder: DisplayLayer.Dialog, knot: Knot);
// füge ihn in die Spielkomponentenliste hinzu
pauseDialog.Close += (t) => knotInput.IsEnabled = true;
AddGameComponents (time, pauseDialog);
}
);
invisible.SetCoordinates (left: 1.00f, top: 1.00f, right: 1.10f, bottom: 1.10f);
invisible.IsVisible = true;
invisible.AddKey (Keys.Escape);
}