本文整理汇总了C#中Character.removeInnitedAreas方法的典型用法代码示例。如果您正苦于以下问题:C# Character.removeInnitedAreas方法的具体用法?C# Character.removeInnitedAreas怎么用?C# Character.removeInnitedAreas使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Character
的用法示例。
在下文中一共展示了Character.removeInnitedAreas方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: sendTo3x3AreaMovement
public void sendTo3x3AreaMovement(Character character, Area area, byte[] packet)
{
if(!this.areaExists(area)) return;
List<int> relistInnitedAreas = new List<int>();
for (int i =0; i < 3; i++) {
for (int u =0; u < 3; u++) {
Area nearCentral = getArea(new int[] { area.getAreaPosition()[0]-1+i, area.getAreaPosition()[1]-1+u });
if(nearCentral == null) continue;
foreach(Character characterAround in nearCentral.getCharacters()) {
if(characterAround == character)
continue;
if(!character.getInnitedAreas().Contains(nearCentral.getaID()))
{
characterAround.getAccount().mClient.WriteRawPacket(CharacterPackets.extCharPacket(character));
}
try {
Console.WriteLine("AreaMove> Packet sent for {0} from {1}", characterAround.getName(), character.getName());
characterAround.getAccount().mClient.WriteRawPacket(packet);
}
catch(Exception e) {
Console.WriteLine(e);
}
}
if(character.getInnitedAreas().Contains(nearCentral.getaID()))
{
relistInnitedAreas.Add(nearCentral.getaID());
continue;
}
nearCentral.sendAreaInit(character);
relistInnitedAreas.Add(nearCentral.getaID());
}
}
character.removeInnitedAreas();
character.setInnitedAreas(relistInnitedAreas);
}
示例2: sendTo3x3AreaSpawn
public void sendTo3x3AreaSpawn(Character character, Area area, Boolean just_a_refresh_for_the_world = false)
{
if(!this.areaExists(area)) return;
character.removeInnitedAreas();
for (int i =0; i < 3; i++) {
for (int u =0; u < 3; u++) {
Area nearCentral = getArea(new int[] { area.getAreaPosition()[0]-1+i, area.getAreaPosition()[1]-1+u });
if(nearCentral == null) continue;
if(!just_a_refresh_for_the_world) nearCentral.sendAreaInit(character);
foreach(Character characterAround in nearCentral.getCharacters()) {
if(characterAround == character) continue;
try {
Console.WriteLine("AreaSpawn> extCharPacket from: {0} for {1}", character.getName(), characterAround.getName());
characterAround.getAccount().mClient.WriteRawPacket(CharacterPackets.extCharPacket(character));
}
catch(Exception e) {
Console.WriteLine(e);
}
}
character.addInnitedArea(nearCentral.getaID());
WMap.Instance.addToSynchronizedAreas(area);
}
}
}
示例3: sendTo3x3AreaLeave
public void sendTo3x3AreaLeave(Character character, Area area)
{
if(!this.areaExists(area)) return;
for (int i =0; i < 3; i++) {
for (int u =0; u < 3; u++) {
Area nearCentral = getArea(new int[] { area.getAreaPosition()[0]-1+i, area.getAreaPosition()[1]-1+u });
if(nearCentral == null) continue;
foreach(Character characterAround in nearCentral.getCharacters()) {
if(characterAround == character) continue;
try {
Console.WriteLine("AreaLeave> vanPacket from: {0} for {1}", character.getName(), characterAround.getName());
characterAround.getAccount().mClient.WriteRawPacket(CharacterPackets.vanCharPacket(character));
} catch (Exception e) { Console.WriteLine(e); }
}
}
}
character.getArea().removeCharacter(character);
character.removeInnitedAreas();
WMap.Instance.removeFromSynchronizedAreas(area);
}