protected virtual void UpdateStats(LA2Live obj) { if (obj.Dead != wasDead) { wasDead = obj.Dead; SelectAppearance(); } }
protected void UpdatePosition(LA2Live obj) { _actionQueue.Enqueue(() => { hasActualPosition = true; transform.position = WorldUtils.L2ToUnityCoords(obj.X, obj.Y, 0); }); }
protected void DrawTargetLine() { if (live.TargetOID > 0) { LA2Live target = SM.Server.FindSpawnByOID(live.TargetOID); if (target == null) { RemoveTargetLine(); } if (target is LA2UserChar ucTarget) { var props = SM.userActorManager.clientProperties[ucTarget.client]; SetTargetLine(props.gameObject.transform.position); return; } if (target is LA2Char charTarget) { var props = SM.playerActorManager.playerProperties[charTarget]; SetTargetLine(props.gameObject.transform.position); return; } if (target is LA2NPC npcTarget) { var props = SM.npcActorManager.npcProperties[npcTarget]; SetTargetLine(props.gameObject.transform.position); return; } RemoveTargetLine(); } else { RemoveTargetLine(); } }
protected virtual void UpdateInfo(LA2Live obj) { nameText.text = obj.Name; SelectAppearance(); }