public void createPlayer() { Debug.Log("Room::createPlayer"); if (player != null) { player.GetComponent <GameEntity>().entityEnable(); return; } if (KBEngineApp.app.entity_type != "Avatar") { return; } KBEngine.Avatar avatar = (KBEngine.Avatar)KBEngineApp.app.player(); if (avatar == null) { Debug.Log("wait create(palyer)!"); return; } player = Instantiate(avatarPerfab, avatar.position, Quaternion.Euler(avatar.direction)) as UnityEngine.GameObject; player.AddComponent <PlayerMovement>(); avatar.renderObj = player; ((GameObject)avatar.renderObj).name = avatar.className + "_" + avatar.id; GameEntity entity = player.GetComponent <GameEntity>(); entity.entityDisable(); entity.isAvatar = true; entity.isPlayer = true; entity.entity = avatar; // 有必要设置一下,由于该接口由Update异步调用,有可能set_position等初始化信息已经先触发了 // 那么如果不设置renderObj的位置和方向将为0 set_position(avatar); set_direction(avatar); // Camera.main.GetComponent<CameraFollow>().AttachTarget(player.transform); CBGlobalEventDispatcher.Instance.TriggerEvent((int)EVENT_ID.EVENT_CAMERA_FOLLOW, player.transform); CBGlobalEventDispatcher.Instance.TriggerEvent((int)EVENT_ID.EVENT_PLAYER_HEALTH, player.GetComponent <PlayerHealth>()); }
public void createPlayer() { if (player != null) { player.GetComponent <GameEntity>().entityEnable(); return; } if (KBEngineApp.app.entity_type != "Avatar") { return; } KBEngine.Avatar avatar = (KBEngine.Avatar)KBEngineApp.app.player(); if (avatar == null) { Debug.Log("wait create(palyer)!"); return; } // 玩家默认在第0层,越小的应该越在下一层, 大的覆盖小的 float layer = 0.0f; player = Instantiate(avatarPerfab, new Vector3(avatar.position.x, avatar.position.z, layer), Quaternion.Euler(new Vector3(avatar.direction.y, avatar.direction.z, avatar.direction.x))) as UnityEngine.GameObject; GameEntity entity = player.GetComponent <GameEntity>(); entity.entityDisable(); avatar.renderObj = player; entity.isAvatar = true; entity.isPlayer = true; // 有必要设置一下,由于该接口由Update异步调用,有可能set_position等初始化信息已经先触发了 // 那么如果不设置renderObj的位置和方向将为0 set_position(avatar); set_direction(avatar); Camera.main.transform.position = new Vector3(player.transform.position.x, player.transform.position.y, -10.0f); Camera.main.transform.parent = player.transform; }