MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / Player

Method Player

source/game/StarPlayer.cpp:56–189  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

54};
55
56Player::Player(PlayerConfigPtr config, Uuid uuid) {
57 auto assets = Root::singleton().assets();
58
59 m_config = config;
60 m_client = nullptr;
61
62 m_state = State::Idle;
63 m_emoteState = HumanoidEmote::Idle;
64
65 m_footstepTimer = 0.0f;
66 m_teleportTimer = 0.0f;
67 m_teleportAnimationType = "default";
68
69 m_shifting = false;
70
71 m_aimPosition = Vec2F();
72
73 setUniqueId(uuid.hex());
74 m_identity = m_config->defaultIdentity;
75 m_identityUpdated = true;
76
77 m_questManager = make_shared<QuestManager>(this);
78 m_tools = make_shared<ToolUser>();
79 m_armor = make_shared<ArmorWearer>();
80 m_companions = make_shared<PlayerCompanions>(config->companionsConfig);
81
82 for (auto& p : config->genericScriptContexts) {
83 auto scriptComponent = make_shared<GenericScriptComponent>();
84 scriptComponent->setScript(p.second);
85 m_genericScriptContexts.set(p.first, scriptComponent);
86 }
87
88 // all of these are defaults and won't include the correct humanoid config for the species
89 m_humanoid = make_shared<Humanoid>(Root::singleton().speciesDatabase()->species(m_identity.species)->humanoidConfig());
90 m_humanoid->setIdentity(m_identity);
91 auto movementParameters = ActorMovementParameters(jsonMerge(m_humanoid->defaultMovementParameters(), m_config->movementParameters));
92 if (!movementParameters.physicsEffectCategories)
93 movementParameters.physicsEffectCategories = StringSet({"player"});
94 m_movementController = make_shared<ActorMovementController>(movementParameters);
95 m_zeroGMovementParameters = ActorMovementParameters(m_config->zeroGMovementParameters);
96
97 m_techController = make_shared<TechController>();
98 m_statusController = make_shared<StatusController>(m_config->statusControllerSettings);
99 m_deployment = make_shared<PlayerDeployment>(m_config->deploymentConfig);
100
101 m_inventory = make_shared<PlayerInventory>();
102 m_blueprints = make_shared<PlayerBlueprints>();
103 m_universeMap = make_shared<PlayerUniverseMap>();
104 m_codexes = make_shared<PlayerCodexes>();
105 m_techs = make_shared<PlayerTech>();
106 m_log = make_shared<PlayerLog>();
107
108 setModeType(PlayerMode::Casual);
109
110 m_useDown = false;
111 m_edgeTriggeredUse = false;
112 setTeam(EntityDamageTeam(TeamType::Friendly));
113

Callers

nothing calls this directly

Calls 15

singletonClass · 0.85
EntityDamageTeamClass · 0.85
jsonToVec2FFunction · 0.85
GameTimerClass · 0.85
assetsMethod · 0.80
hexMethod · 0.80
setScriptMethod · 0.80
humanoidConfigMethod · 0.80
speciesDatabaseMethod · 0.80
toFloatMethod · 0.80
jsonMethod · 0.80

Tested by

no test coverage detected