public void ResolveNewObject(NewObjectPacket packet) { if (!objectDict.ContainsKey(packet.movableId)) { GameObject gameObject = null; switch (packet.category) { case Category.Player: gameObject = Instantiate(player); gameObject.transform.SetParent(map.transform); break; case Category.Enemy: gameObject = Instantiate(enemy); gameObject.transform.SetParent(map.transform); break; } if (gameObject != null) { MObject mObject = gameObject.GetComponent <MObject> (); mObject.name = "object_" + packet.movableId; mObject.SetUp(packet); objectDict.Add(packet.movableId, mObject); } } }
public void SetUp(NewObjectPacket packet) { category = packet.category; id = packet.movableId; pos = new Vector3(packet.x, 0.0f, packet.y); if (category == Category.Player) { animator = GetComponent <Animator> (); } status = Status.Stop; if (category == Category.Player) { hp = Constants.PLAYER_HP; } else { hp = Constants.ENEMY_HP; } cooltime = 0.0f; if (category == Category.Player) { transform.localPosition = (pos + new Vector3(0.5f, 0.0f, 0.5f)); } else { transform.localPosition = (pos + new Vector3(0.5f, 0.5f, 0.5f)); } }
public void NewObject(NewObjectPacket packet) { if (IsRequestMapSent) { newObjectQueue.Enqueue(packet); } else { ResolveNewObject(packet); } }