Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: simplified interest management #990

Draft
wants to merge 56 commits into
base: main
Choose a base branch
from

Commits on Nov 9, 2021

  1. Configuration menu
    Copy the full SHA
    b7d40e9 View commit details
    Browse the repository at this point in the history
  2. simplified aoi system. This is intital start of simplifying. I have g…

    …otten proximity checker redone only. Has bug atm need fix later. Used james code from distance checker.
    dragonslaya84 committed Nov 9, 2021
    Configuration menu
    Copy the full SHA
    8fd5930 View commit details
    Browse the repository at this point in the history
  3. null check fix.

    dragonslaya84 committed Nov 9, 2021
    Configuration menu
    Copy the full SHA
    2dc52b8 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4c67bee View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7322f46 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    6312152 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8035029 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    a8e710c View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    ae7f26c View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2021

  1. more improvements to core of aoi. Now the system register's single ao…

    …i. Proximity checker currently only one that is finished and tested atm.
    dragonslaya84 committed Nov 10, 2021
    Configuration menu
    Copy the full SHA
    a06baef View commit details
    Browse the repository at this point in the history
  2. setup performance base to do proximity test alone now and fixed some …

    …null references issues due to adding aoi systems at runtime.
    dragonslaya84 committed Nov 10, 2021
    Configuration menu
    Copy the full SHA
    abd394b View commit details
    Browse the repository at this point in the history
  3. some clean up.

    dragonslaya84 committed Nov 10, 2021
    Configuration menu
    Copy the full SHA
    5084838 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    acdf561 View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2021

  1. Configuration menu
    Copy the full SHA
    1d24684 View commit details
    Browse the repository at this point in the history

Commits on Nov 12, 2021

  1. removed match checker

    implemented scene visibility
    fixed docs ref.
    added new unregister so if gameobjects get destroyed they unregister from visibility system.
    dragonslaya84 committed Nov 12, 2021
    Configuration menu
    Copy the full SHA
    75773e9 View commit details
    Browse the repository at this point in the history
  2. fixed issues with comparer check for registering new visibility systems.

    Implemented a new multi visibility system performance benchmark. Runs Scene + proximity systems.
    dragonslaya84 committed Nov 12, 2021
    Configuration menu
    Copy the full SHA
    c292a66 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bf51366 View commit details
    Browse the repository at this point in the history
  4. pushing new default global system script so if end users want to have…

    … objects global but not others everything will still work. New global system is internal cannot be used outside
    dragonslaya84 committed Nov 12, 2021
    Configuration menu
    Copy the full SHA
    9248f20 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    8a94b68 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    f44edbd View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2021

  1. added lymdun suggestion use linq for finding list.

    Signed-off-by: dragonslaya <[email protected]>
    dragonslaya84 committed Nov 13, 2021
    Configuration menu
    Copy the full SHA
    070f859 View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2021

  1. renamed somethings better

    Still trying to improve benchmark speeds.
    dragonslaya84 committed Nov 15, 2021
    Configuration menu
    Copy the full SHA
    0527155 View commit details
    Browse the repository at this point in the history
  2. fixing check

    dragonslaya84 committed Nov 15, 2021
    Configuration menu
    Copy the full SHA
    9d57d5d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f817b6f View commit details
    Browse the repository at this point in the history
  4. fix example.

    dragonslaya84 committed Nov 15, 2021
    Configuration menu
    Copy the full SHA
    1450d7f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    dba2e1d View commit details
    Browse the repository at this point in the history
  6. improving test:

    - adding explicit (so it can be run manually)
    - create new scene for each client, with no physics
    - adding netid to obj names
    - adding setup/clean prefabs (so they are changed before they are used by enemy spawner, world.Spawned might be too late to add)
    James-Frowen committed Nov 15, 2021
    Configuration menu
    Copy the full SHA
    f17a202 View commit details
    Browse the repository at this point in the history
  7. adding namespace to test

    James-Frowen committed Nov 15, 2021
    Configuration menu
    Copy the full SHA
    534a064 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    8efd797 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    256b4aa View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    0a24a5a View commit details
    Browse the repository at this point in the history
  11. fix: using OnStartServer for RegisterObject

    registering in onenable is sometimes too early.
    It will also cause unspawned objects to be included in AOI, and maybe sent to clients
    
    Also adding todo
    James-Frowen committed Nov 15, 2021
    Configuration menu
    Copy the full SHA
    06ac691 View commit details
    Browse the repository at this point in the history
  12. rename: NetworkVisibility

    - NetworkVisibility to VisibilitySystem
    - NetworkProximityCheckerVisibility to DistanceVisibilitySystem
    - SceneVisibilityChecker to SceneVisibilitySystem
    James-Frowen committed Nov 15, 2021
    Configuration menu
    Copy the full SHA
    36e6e48 View commit details
    Browse the repository at this point in the history
  13. rename: renaming visibilitySystemData

    - _visibilitySystemData to _data
    - VisibilitySystemData Observers
    James-Frowen committed Nov 15, 2021
    Configuration menu
    Copy the full SHA
    fcdae19 View commit details
    Browse the repository at this point in the history
  14. style: moving Comparer to struct it is for

    moving Comparer so it is not hidden inside IM. Makes it more obvious what is going on when using the sturct in a hashset
    James-Frowen committed Nov 15, 2021
    Configuration menu
    Copy the full SHA
    3b99788 View commit details
    Browse the repository at this point in the history
  15. removing VisibilitySystemData

    we can just use the system itself since it'll have the reference to the dictionary
    James-Frowen committed Nov 15, 2021
    Configuration menu
    Copy the full SHA
    a46acd0 View commit details
    Browse the repository at this point in the history
  16. adding todo

    James-Frowen committed Nov 15, 2021
    Configuration menu
    Copy the full SHA
    8ee2fd8 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    66b1173 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    7fa8251 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    da94d9f View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    a650f83 View commit details
    Browse the repository at this point in the history
  21. renaming BaseVisibilityInspector

    - BaseVisibilityInspector to VisibilitySystemFactory
    - NetworkSceneChecker to SceneVisibilityFactory
    - NetworkProximityChecker to DistanceVisibilityFactory
    James-Frowen committed Nov 15, 2021
    Configuration menu
    Copy the full SHA
    6f40e06 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    acb9ac7 View commit details
    Browse the repository at this point in the history
  23. deleting Interface

    we dont need this layer of abstraction
    James-Frowen committed Nov 15, 2021
    Configuration menu
    Copy the full SHA
    97455b0 View commit details
    Browse the repository at this point in the history
  24. making RegisterObject take the Network Identity

    - removing base settings
    - making register take identity and settings
    - making unregister just take identity
    
    RegisterObject makes more sense if it is given the object, rather than settings that has the object.
    
    This will also reduce extra code if a system does not need any settings (if could just pass in null)
    James-Frowen committed Nov 15, 2021
    Configuration menu
    Copy the full SHA
    46e7dc0 View commit details
    Browse the repository at this point in the history
  25. renaming rebuild methods

    - renamed OnAuthenticated  to RebuildForPlayer
    
    OnAuthenticated seems like a bad name because we will need to call it more than just OnAuthenticated, Like when we spawna  new character for the player
    James-Frowen committed Nov 15, 2021
    Configuration menu
    Copy the full SHA
    cdc9372 View commit details
    Browse the repository at this point in the history
  26. fixing ServerObjectMamager

    making sure we still call IM functions are same time as before
    - need to rebuild observers for player after setting character
    - moving show to player to IM
    - adding OnSpawn and OnDestroy instead of using world events (we need to control the order, our event might be called before/after user added events)
    James-Frowen committed Nov 15, 2021
    Configuration menu
    Copy the full SHA
    eb925de View commit details
    Browse the repository at this point in the history
  27. removing SceneSettings

    can just use scene instead
    James-Frowen committed Nov 15, 2021
    Configuration menu
    Copy the full SHA
    9eee2e8 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    0bd0835 View commit details
    Browse the repository at this point in the history
  29. changing when system is created

    changing how it is created.
    pass variables around rather than using fields
    James-Frowen committed Nov 15, 2021
    Configuration menu
    Copy the full SHA
    ddf3861 View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2021

  1. fixing startup order, key changes in comment

    - InterestManager lazy intialize
    - VisibilitySystemFactory adds to IM on awake, and removes in destroy
    
    Key points:
    - IM always exists on SOM
    - Systems can and should be added before Server Starts
    - Systems will add them selves to IM when they are constructed
    James-Frowen committed Nov 16, 2021
    Configuration menu
    Copy the full SHA
    79900a1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    740f00f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c8f181d View commit details
    Browse the repository at this point in the history
  4. fixing helper methods

    James-Frowen committed Nov 16, 2021
    Configuration menu
    Copy the full SHA
    5f1fae0 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    aeb08ba View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    037b5b0 View commit details
    Browse the repository at this point in the history