本文整理汇总了C#中IPlayer.SwitchState方法的典型用法代码示例。如果您正苦于以下问题:C# IPlayer.SwitchState方法的具体用法?C# IPlayer.SwitchState怎么用?C# IPlayer.SwitchState使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IPlayer
的用法示例。
在下文中一共展示了IPlayer.SwitchState方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Execute
public void Execute(IPlayer player)
{
if (String.IsNullOrEmpty(player.ReceivedInput))
return;
string[] args = player.ReceivedInput.Split(' ');
string direction = String.Empty;
if (args.Length >= 2) //will always be at least 1, as the command itself is at index 0, making length 1
direction = args[1]; //Assume Walk North, so [1] = North (or any other direction)
else
{
player.SendMessage("Please specify which direction you would like to walk.");
return;
}
AvailableTravelDirections travelDirection = TravelDirections.GetTravelDirectionValue(direction);
if (travelDirection == AvailableTravelDirections.None)
{
player.SendMessage("Invalid direction!");
return;
}
if (player.Location.DoorwayExists(travelDirection))
{
IDoor door = player.Location.GetDoorway(travelDirection);
player.Move(door.Arrival);
//Make sure we have a valid save path
var filePath = Path.Combine(Directory.GetCurrentDirectory(), EngineSettings.Default.PlayerSavePath, player.Username + ".char");
var path = Path.GetDirectoryName(filePath);
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
//Save the player using our serialization class
FileIO fileSave = new FileIO();
fileSave.Save(player, filePath);
}
player.SwitchState(new LookingState());
}
示例2: Execute
public void Execute(IPlayer player)
{
player.SwitchState(new LookingState());
}