本文整理汇总了C#中GameStateManager.AddPlayers方法的典型用法代码示例。如果您正苦于以下问题:C# GameStateManager.AddPlayers方法的具体用法?C# GameStateManager.AddPlayers怎么用?C# GameStateManager.AddPlayers使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameStateManager
的用法示例。
在下文中一共展示了GameStateManager.AddPlayers方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Initialize
/// <summary>
/// Instantiates all the classes needed for the game
/// </summary>
public override void Initialize()
{
//generate Level from file
var parser = new LevelParser();
level = parser.GenerateLevel(ScreenManager.Content.Load<List<String[]>>(@"Levels\level1"));
//create a camer, for we want to see the game
camera = new Camera(0.4f, Vector2.Zero, 0, true, null);
Point size = new Point(49, 49);
PlayerController playerController = new PlayerController(Direction.None, "PacMa", 1, PlayerIndex.One,
MovObjType.LocalPacMan, ScreenManager.Input);
//Create a player object
PacMan player = new PacMan(@"Sprites\PacMan", level.getCell(1, 1), level,
new PlayerController(Direction.None, "Player 1",1, PlayerIndex.One, MovObjType.LocalPacMan, ScreenManager.Input), Direction.None, 3f, size);
//Create all ghosts for the game
Ghost blinky = new Ghost(@"Sprites\GhostBase", level.getCell(26, 1), level, Direction.Down, 3f, size, Color.Red, new Blinky(player, new Point(0, 0), new Point(15, 15), new Point(16, 16)));
Ghost pinky = new Ghost(@"Sprites\GhostBase", level.getCell(26, 29), level, Direction.None, 3f, size, Color.Pink, new Pinky(player, new Point(0, 28), new Point(15, 15), new Point(16, 16)));
Ghost inky = new Ghost(@"Sprites\GhostBase", level.getCell(26, 14), level, Direction.None, 3f, size, Color.Blue,
new Inky(player, blinky, new Point(31, 0), new Point(15, 15), new Point(16, 16)));
Ghost clyde = new Ghost(@"Sprites\GhostBase", level.getCell(12, 17), level, Direction.None, 3f, size, Color.Yellow,
new Clyde(player, new Point(31, 28), new Point(15, 15), new Point(16, 16)));
//Initialize the list of gui elements
guiElements = new List<GUIElement>();
GUIString stringElement = new GUIString(player, Color.White, new Vector2(0, 0), new Vector2(10, 10));
guiElements.Add(stringElement);
//Store everything inside the gameStateManager
gameStateManager = new GameStateManager();
gameStateManager.GameState = GameState.Loading;
gameStateManager.AddPlayers(player, blinky, pinky, inky, clyde);
gameStateManager.Level = level;
// movOb.Add(player);
// movOb.Add(blinky);
// movOb.Add(pinky);
// movOb.Add(inky);
// movOb.Add(clyde);
//Initialize the gameplay behaviours
playBehaviour = new PlayBehaviour();
deathBehaviour = new DeathBehaviour();
gameStateManager.GetAllOfType<PacMan>();
gameStateManager.GetAllOfType<Ghost>();
}
示例2: Initialize
/// <summary>
/// Initializes the current screen
/// </summary>
public override void Initialize()
{
//Store everything inside the gameStateManager
gameStateManager = new GameStateManager();
gameStateManager.GameState = GameState.Loading;
gameStateManager.Level = level;
//Initialize the gameplay behaviours
playBehaviour = new PlayBehaviour();
deathBehaviour = new DeathBehaviour();
var parser = new LevelParser();
gameStateManager.Level = parser.GenerateLevel(ScreenManager.Content.Load<List<String[]>>(@"Levels\level1"));
guiElements = new List<GamePlayScreens.GUI.GUIElement>();
//camera = new Camera(1, Vector2.Zero, 0);
camera = new Camera(0.4f, Vector2.Zero, 0, true, null);
// ask server for List of connected and waiting clients
networkManager.sendMessage("getPlayers");
// wait for the response to the request of available players
NetIncomingMessage msg;
bool waitingForServer = true;
while (waitingForServer)
{
// check for messages as long the incoming messages queue has messages stored
while ((msg = networkManager.getMessage()) != null)
{
switch (msg.MessageType)
{
case NetIncomingMessageType.Data:
string msgStr = msg.ReadString();
// check if the message is the response to the request
string[] clients = msgStr.Split(';');
if (clients[0] == "getPlayers")
{
int i = 1;
foreach (string player in clients)
{
if (player != "" && player != "getPlayers")
{
string[] values = player.Split('/');
int localUID = networkManager.getUID();
int remoteUID = Convert.ToInt32(values[0]);
switch (values[1])
{
case "1": // Player is a PacMan
// Check if it is a local or remote controlled gameobject
if (localUID == remoteUID) // local controlled
{
PlayerController playerController = new PlayerController(
Direction.None, values[0], remoteUID, PlayerIndex.One,
MovObjType.LocalPacMan, ScreenManager.Input);
NetworkController networkController =
new NetworkController(playerController.ID, playerController,
networkManager);
gameStateManager.AddPlayers(new PacMan(@"Sprites\PacMan",
gameStateManager.Level.getCell(1, 1), gameStateManager.Level, networkController, Direction.None, 1.3f, new Point(50, 50)));
}
else // remote controlled
{
EmptyController emptyController = new EmptyController(Direction.None,
values[0],
remoteUID,
MovObjType.
NetPacMan);
gameStateManager.AddPlayers(new PacMan(@"Sprites\PacMan",
gameStateManager.Level.getCell(1, 1), gameStateManager.Level,
new NetworkController(emptyController.ID, emptyController, networkManager),
Direction.None, 1.3f, new Point(50, 50)));
}
GUIString stringElement = new GUIString(gameStateManager.MovableObjects.Last(), Color.White, new Vector2(0, 0), new Vector2(10, i * 10));
guiElements.Add(stringElement);
break;
case "2": // Player is a Ghost
Blinky blinky = new Blinky(gameStateManager.GetAllOfType<PacMan>()[0],
new Point(0, 0), new Point(15, 15),
new Point(17, 17));
GhostController ghostController = new GhostController(level,
blinky,
remoteUID);
NetworkGhostController ghostNetworkController =
new NetworkGhostController(networkManager, ghostController,
ghostController.ID);
//.........这里部分代码省略.........