예제 #1
0
    // Use this for initialization
    void Awake()
    {
        // We are a singleton
        if (Instance != null)
        {
            Destroy(gameObject);
            return;
        }
        else
        {
            Instance = this;
        }

        if (applicationId == -1)
        {
            applicationId = Network.Utils.GetIPBasedApplicationId();
        }

        Client            = new ClientNetworking(socketSettings, applicationId);
        Client.OnConnect += OnConnect;
        onPlayerFullPacketListenerHandle = Client.AddListener <PlayerFullPacket>(OnPlayerFullPacket);

        worldEntityManager = new WorldEntityManager(Client);
        npcManager         = new ClientNPCManager(Client, worldEntityManager);
        // don't set proxy manager up yet, as we want to wait for first player packet
        // as that is for *us* rather than proxy players

        Client.Connect();
    }
예제 #2
0
 public WorldEntityHub(WorldEntityManager worldEntityManager,
                       MapListenerContainer container,
                       IStateManager stateManager)
 {
     _worldEntityManager = worldEntityManager;
     _listenerContainer  = container;
     _stateManager       = stateManager;
 }
예제 #3
0
    public ProxyManager(IClientNetworking client, WorldEntityManager worldEntityManager)
    {
        this.client             = client;
        this.worldEntityManager = worldEntityManager;

        clientSettings = Resources.Load <ClientSettings>("ClientSettings");

        client.AddListener <PlayerFullPacket>(OnPlayerFullPacket);
    }
    /// <summary>
    /// Initializes the button with data from the world entity.
    /// </summary>
    /// <param name="entityName">The name of the entity.</param>
    /// <param name="buttonAction">The action taken when the button is clicked.</param>
    /// <param name="manager">The world entity manager for this type of entity.</param>
    public void Initialize(string entityName, ButtonAction buttonAction, WorldEntityManager manager)
    {
        this.entityName   = entityName;
        this.buttonAction = buttonAction;
        this.manager      = manager;
        var entityObject = manager.GetEntityObject(entityName);

        imageComponent.sprite = entityObject.Icon;
    }
예제 #5
0
 public MapEntityListener(MapManager mapManager,
                          IHubContext <WorldEntityHub> hubContext,
                          WorldEntityManager worldEntityManager)
 {
     _mapManager                     = mapManager;
     _hubContext                     = hubContext;
     _worldEntityManager             = worldEntityManager;
     _mapManager.MapStateChanged    += OnMapStateChanged;
     _mapManager.WorldEntityRemoved += OnWorldEntitiesRemoved;
     _mapManager.WorldEntityAdded   += OnWorldEntitiesAdded;
     MapId = _mapManager.Map.Id.ToString();
 }
예제 #6
0
    /// <summary>
    /// Sets up the list.
    /// </summary>
    protected void Start()
    {
        buttons = new List <GameObject>();
        manager = GameManager.GetManagerByType(entityType);

        if (listType == WorldEntityListType.Unlocked)
        {
            manager.OnUnlockedListChanged += RefreshDisplay;
        }
        else
        {
            manager.OnAssignedListChanged += RefreshDisplay;
        }

        RefreshDisplay();
    }
예제 #7
0
        public override void PostConvert()
        {
            if (Spawner == null)
            {
                return;
            }

            if (WorldEntityManager.HasComponent(Spawner.ActorEntity, typeof(NetworkSyncSend)))
            {
                WorldEntityManager.AddComponentData(ActorEntity, new NetworkSyncSend());
            }

            foreach (var p in PerksToApply)
            {
                p.Apply(Spawner);
            }
        }
예제 #8
0
 public override void PostConvert()
 {
     WorldEntityManager.AddComponentData(ActorEntity, new GameStateData());
 }
예제 #9
0
 public ChatHub(WorldEntityManager worldEntityManager)
 {
     _worldEntityManager = worldEntityManager;
 }
예제 #10
0
 public ClientNPCManager(IClientNetworking client, WorldEntityManager worldEntityManager)
 {
     this.client             = client;
     this.worldEntityManager = worldEntityManager;
     client.AddListener <NPCFullPacket>(OnNPCFullPacket);
 }
예제 #11
0
 public MapDataController(MapDataHandler mapDataHandler,
                          WorldEntityManager entityManager)
 {
     _mapDataHandler = mapDataHandler;
     _entityManager  = entityManager;
 }