private void CreateActor(RTSClient cl) { var newActor = Instantiate(UserActorPrefab, WorldUtils.L2ToUnityCoords(cl.UserChar.X, cl.UserChar.Y, 0), WorldUtils.ActorDefaultRotation()); var uas = newActor.GetComponent <UserActorScript>(); uas.client = cl; var cp = clientProperties[cl]; cp.gameObject = newActor; cp.actorScript = uas; }
private void AddNPC(LA2NPC npc) { npcProperties.Add(npc, new ActorProperties()); { _actionQueue.Enqueue(() => { var newActor = Instantiate(NPCActorPrefab, WorldUtils.L2ToUnityCoords(npc.X, npc.Y, 0), WorldUtils.ActorDefaultRotation()); var nas = newActor.GetComponent <NPCActorScript>(); nas.npc = npc; npc.ExpiredEvent += RemoveNPC; var np = npcProperties[npc]; np.gameObject = newActor; np.actorScript = nas; }); } }
private void AddPlayer(LA2Char pl) { playerProperties.Add(pl, new ActorProperties()); { _actionQueue.Enqueue(() => { var newActor = Instantiate(PlayerActorPrefab, WorldUtils.L2ToUnityCoords(pl.X, pl.Y, 0), WorldUtils.ActorDefaultRotation()); var pas = newActor.GetComponent <PlayerActorScript>(); pas.player = pl; pl.ExpiredEvent += RemovePlayer; var pp = playerProperties[pl]; pp.gameObject = newActor; pp.actorScript = pas; }); } }