本文整理汇总了C#中GameObject.getNetId方法的典型用法代码示例。如果您正苦于以下问题:C# GameObject.getNetId方法的具体用法?C# GameObject.getNetId怎么用?C# GameObject.getNetId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameObject
的用法示例。
在下文中一共展示了GameObject.getNetId方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MovementAns
//see PKT_S2C_CharStats mask
//TODO movement
public MovementAns(GameObject actor, Map map) : base(PacketCmdS2C.PKT_S2C_MoveAns)
{
var waypoints = actor.getWaypoints();
buffer.Write((short)1); //count
buffer.Write((byte)(2 * waypoints.Count));
buffer.Write((int)actor.getNetId());
int startPos = (int)buffer.BaseStream.Position;
int coordCount = 2 * waypoints.Count();
var maskSize = (coordCount + 5) / 8; //mask size
//buffer.reserve(pos + maskSize + coordCount * sizeof(short)); //reserve max total size
for (uint i = 0; i < maskSize; i++)
{
buffer.Write((byte)0);
}
var lastCoord = new Vector2();
for (int i = 0; i < waypoints.Count; i++)
{
var mapSize = map.getSize();
var curVector = new Vector2((waypoints[i].X - mapSize.X) / 2, (waypoints[i].Y - mapSize.Y) / 2);
var relative = new Vector2(curVector.X - lastCoord.X, curVector.Y - lastCoord.Y);
var isAbsolute = new Tuple<bool, bool>(
i == 0 || relative.X < sbyte.MinValue || relative.X > sbyte.MaxValue,
i == 0 || relative.Y < sbyte.MinValue || relative.Y > sbyte.MaxValue);
Change(SetBitmaskValue(GetBytes(), startPos, (2 * i - 2), !isAbsolute.Item1));
if (isAbsolute.Item1)
buffer.Write((short)curVector.X);
else
buffer.Write((byte)relative.X);
Change(SetBitmaskValue(GetBytes(), startPos, (2 * i - 1), !isAbsolute.Item2));
if (isAbsolute.Item2)
buffer.Write((short)curVector.Y);
else
buffer.Write((byte)relative.Y);
lastCoord = curVector;
}
}
示例2: DeleteObjectFromVision
public DeleteObjectFromVision(GameObject o) : base(PacketCmdS2C.PKT_S2C_DeleteObject, o.getNetId())
{
}
示例3: removeObject
public void removeObject(GameObject o)
{
var c = o as Champion;
if (c != null)
champions.Remove(c.getNetId());
lock (objects)
objects.Remove(o.getNetId());
visionUnits[Convert.fromTeamId(o.getTeam())].Remove(o.getNetId());
}
示例4: LeaveVision
public LeaveVision(GameObject o) : base(PacketCmdS2C.PKT_S2C_LeaveVision, o.getNetId())
{
}
示例5: addObject
public void addObject(GameObject o)
{
if (o == null)
return;
lock (objects)
objects.Add(o.getNetId(), o);
var u = o as Unit;
if (u == null)
return;
collisionHandler.addObject(o);
var team = o.getTeam();
var teamVision = visionUnits[Convert.fromTeamId(team)];
if (teamVision.ContainsKey(o.getNetId()))
teamVision[o.getNetId()] = u;
else
teamVision.Add(o.getNetId(), u);
var m = u as Minion;
if (m != null)
PacketNotifier.notifyMinionSpawned(m, m.getTeam());
var mo = u as Monster;
if (mo != null)
PacketNotifier.notifySpawn(mo);
var inhi = u as Inhibitor;
if (inhi != null)
PacketNotifier.notifySpawn(inhi);
var c = o as Champion;
if (c != null)
{
champions[c.getNetId()] = c;
PacketNotifier.notifyChampionSpawned(c, c.getTeam());
}
}