private void OnPlayerCreated(object sender, PlayerCharacterEventArgs args) { GameObject playerCharacterGameObject = new GameObject($"PlayerCharacter_{args.PlayerCharacter.Id}_{args.PlayerCharacter.Name}"); playerCharacterGameObject.transform.position = (Vector2)args.PlayerCharacter.Tile.Position; playerCharacterGameObject.transform.SetParent(playerCharactersParent); PlayerController.Attach(args.PlayerCharacter.Id, playerCharacterGameObject); MessageChannel <PlayerNameDisplayCreateMessage> .Broadcast(new PlayerNameDisplayCreateMessage(playerCharacterGameObject, args.PlayerCharacter)); SpriteRenderer spriteRenderer = playerCharacterGameObject.AddComponent <SpriteRenderer>(); spriteRenderer.sprite = Resources.Load <Sprite>("Characters/_DefaultPlayer"); spriteRenderer.sortingLayerName = "Characters"; if (args.PlayerCharacter.IsClientPlayer()) { ClientPlayerGameObject = playerCharacterGameObject; spriteRenderer.color = Color.red; } playerCharacterGameObjects.Add(args.PlayerCharacter.Id, playerCharacterGameObject); }