static void ChunksEnterLeaveViewRes(object data) { CSChunksEnterLeaveViewRes rsp = NetworkManager.Deserialize <CSChunksEnterLeaveViewRes>(data); //Debug.Log("CSChunksEnterLeaveViewRes," + rsp.EnterViewChunks.Count + "," + rsp.LeaveViewChunks.Count); if (rsp.RetCode == 0) { foreach (CSVector2Int csv in rsp.LeaveViewChunks) { UnloadChunk(csv.x, csv.y); } foreach (CSChunk cschunk in rsp.EnterViewChunks) { LoadChunk(cschunk); } if (!PlayerController.isInitialized) { PlayerController.Init(); LocalNavMeshBuilder.Init(); ChunkRefresher.ForceRefreshAll(); } ChunkChecker.FinishRefresh(); } else { FastTips.Show(rsp.RetCode); } }
void Update() { if (PlayerController.isInitialized) { ChunkChecker.Update(); ChunkRefresher.Update(); } }
void Start() { ChunkChecker.Init(); ChunkRefresher.Init(); ChunkManager.Init(); ChunkPool.Init(); OtherPlayerManager.Init(); ItemSelectPanel.Show(); ChatPanel.ShowChatPanel(); List <Vector2Int> preloadChunks = Utilities.GetSurroudingChunks(PlayerController.GetCurrentChunk()); ChunkManager.ChunksEnterLeaveViewReq(preloadChunks); }
void Update() { if (PlayerController.isInitialized) { ChunkChecker.Update(); ChunkRefresher.Update(); } Texture2D day = Resources.Load <Texture2D>("GUI/Day"); Shader.SetGlobalTexture("_DayLightTexture", day); Texture2D night = Resources.Load <Texture2D>("GUI/Night"); Shader.SetGlobalTexture("_NightLightTexture", night); }
public static void ChunksEnterLeaveViewReq(List <Vector2Int> enterViewChunks, List <Vector2Int> leaveViewChunks = null) { foreach (Vector2Int chunkPos in enterViewChunks) { NBTChunk chunk = NBTHelper.LoadChunk(chunkPos.x, chunkPos.y); ChunkRefresher.Add(chunk); } if (leaveViewChunks != null) { foreach (Vector2Int chunk in leaveViewChunks) { UnloadChunk(chunk.x, chunk.y); } } ChunkChecker.FinishRefresh(); }
void Start() { SettingsPanel.Init(); ChunkRefresher.Init(); ChunkPool.Init(); ItemSelectPanel.Show(); ChatPanel.ShowChatPanel(); InventorySystem.Init(); GameModeManager.Init(); // load chunk here ChunkChecker.Init(); PlayerController.Init(); LocalNavMeshBuilder.Init(); ChunkRefresher.ForceRefreshAll(); }
public async static void ChunksEnterLeaveViewReq(List <Vector2Int> enterViewChunks, List <Vector2Int> leaveViewChunks = null) { List <NBTChunk> chunks = new List <NBTChunk>(); foreach (Vector2Int chunkPos in enterViewChunks) { NBTChunk chunk = await NBTHelper.LoadChunkAsync(chunkPos.x, chunkPos.y); chunks.Add(chunk); } ChunkRefresher.Add(chunks); ChunkChecker.FinishRefresh(); if (leaveViewChunks != null) { foreach (Vector2Int chunk in leaveViewChunks) { UnloadChunk(chunk.x, chunk.y); } } }