public CharacterModuleServer(GameWorld world, BundledResourceManager resourceSystem) : base(world) { // Handle spawn requests m_HandleCharacterSpawnRequests = m_world.GetECSWorld().CreateManager <HandleCharacterSpawnRequests>(m_world, resourceSystem, true); m_HandleCharacterDespawnRequests = m_world.GetECSWorld().CreateManager <HandleCharacterDespawnRequests>(m_world); // Handle controlled entity changed CharacterBehaviours.CreateControlledEntityChangedSystems(m_world, m_ControlledEntityChangedSystems); m_ControlledEntityChangedSystems.Add(m_world.GetECSWorld().CreateManager <PlayerCharacterControlSystem>(m_world)); // Handle spawn CharacterBehaviours.CreateHandleSpawnSystems(m_world, m_HandleSpawnSystems, resourceSystem); // Handle despawn CharacterBehaviours.CreateHandleDespawnSystems(m_world, m_HandleSpawnSystems); // Movement m_MovementStartSystems.Add(m_world.GetECSWorld().CreateManager <UpdateTeleportation>(m_world)); CharacterBehaviours.CreateMovementStartSystems(m_world, m_MovementStartSystems); CharacterBehaviours.CreateMovementResolveSystems(m_world, m_MovementResolveSystems); // Ability CharacterBehaviours.CreateAbilityStartSystems(m_world, m_AbilityStartSystems); CharacterBehaviours.CreateAbilityResolveSystems(m_world, m_AbilityResolveSystems); m_UpdateCharPresentationState = m_world.GetECSWorld().CreateManager <UpdateCharPresentationState>(m_world); m_ApplyPresentationStateToCharacters = m_world.GetECSWorld().CreateManager <ApplyPresentationStateToCharacters>(m_world); m_ApplyPresentationStateToItems = m_world.GetECSWorld().CreateManager <ApplyPresentationStateToItems>(m_world); m_HandleDamage = m_world.GetECSWorld().CreateManager <HandleDamage>(m_world); m_characterItemLateUpdate = m_world.GetECSWorld().CreateManager <CharacterItemLateUpdate>(m_world); }
public CharacterModulePreview(GameWorld world, BundledResourceManager resourceSystem) : base(world) { // Handle spawn requests m_HandleCharacterSpawnRequests = m_world.GetECSWorld().CreateManager <HandleCharacterSpawnRequests>(m_world, resourceSystem, false); m_HandleCharacterDepawnRequests = m_world.GetECSWorld().CreateManager <HandleCharacterDespawnRequests>(m_world); // Handle control change CharacterBehaviours.CreateControlledEntityChangedSystems(m_world, m_ControlledEntityChangedSystems); m_ControlledEntityChangedSystems.Add(m_world.GetECSWorld().CreateManager <PlayerCharacterControlSystem>(m_world)); m_ControlledEntityChangedSystems.Add(m_world.GetECSWorld().CreateManager <UpdateCharacter1PSpawn>(m_world, resourceSystem)); // Handle spawning CharacterBehaviours.CreateHandleSpawnSystems(m_world, m_HandleSpawnSystems, resourceSystem); // Handle despawn CharacterBehaviours.CreateHandleDespawnSystems(m_world, m_HandleSpawnSystems); // Movement m_MovementStartSystems.Add(m_world.GetECSWorld().CreateManager <UpdateTeleportation>(m_world)); CharacterBehaviours.CreateMovementStartSystems(m_world, m_MovementStartSystems); CharacterBehaviours.CreateMovementResolveSystems(m_world, m_MovementResolveSystems); // Ability CharacterBehaviours.CreateAbilityStartSystems(m_world, m_AbilityStartSystems); CharacterBehaviours.CreateAbilityResolveSystems(m_world, m_AbilityResolveSystems); m_UpdateCharPresentationState = m_world.GetECSWorld().CreateManager <UpdateCharPresentationState>(m_world); m_ApplyPresentationStateToCharacters = m_world.GetECSWorld().CreateManager <ApplyPresentationStateToCharacters>(m_world); m_ApplyPresentationStateToItems = m_world.GetECSWorld().CreateManager <ApplyPresentationStateToItems>(m_world); m_CharacterLateUpdate = m_world.GetECSWorld().CreateManager <CharacterLateUpdate>(m_world); m_HandleDamage = m_world.GetECSWorld().CreateManager <HandleDamage>(m_world); m_updateCharacterUI = m_world.GetECSWorld().CreateManager <UpdateCharacterUI>(m_world); m_characterCameraSystem = m_world.GetECSWorld().CreateManager <UpdateCharacterCamera>(m_world); m_characterItemLateUpdate = m_world.GetECSWorld().CreateManager <CharacterItemLateUpdate>(m_world); m_characterItem1PLateUpdate = m_world.GetECSWorld().CreateManager <CharacterItem1PLateUpdate>(m_world); m_HandleCharacterEvents = m_world.GetECSWorld().CreateManager <HandleCharacterEvents>(); // Preload all character resources (until we have better streaming solution) var charRegistry = resourceSystem.GetResourceRegistry <CharacterTypeRegistry>(); for (var i = 0; i < charRegistry.entries.Length; i++) { resourceSystem.LoadSingleAssetResource(charRegistry.entries[i].prefab1P.guid); resourceSystem.LoadSingleAssetResource(charRegistry.entries[i].prefabClient.guid); } var itemRegistry = resourceSystem.GetResourceRegistry <ItemRegistry>(); for (var i = 0; i < itemRegistry.entries.Length; i++) { resourceSystem.LoadSingleAssetResource(itemRegistry.entries[i].prefab1P.guid); resourceSystem.LoadSingleAssetResource(itemRegistry.entries[i].prefabClient.guid); } var heroTypeRegistry = resourceSystem.GetResourceRegistry <HeroTypeRegistry>(); for (var i = 0; i < heroTypeRegistry.entries.Length; i++) { for (var j = 0; j < heroTypeRegistry.entries[i].abilities.Length; j++) { resourceSystem.LoadSingleAssetResource(heroTypeRegistry.entries[i].abilities[j].guid); } } Console.AddCommand("thirdperson", CmdToggleThirdperson, "Toggle third person mode", this.GetHashCode()); }