public override void ClientInitialize() { Client.Characters.CurrentPlayerCharacterChanged += ClientTryRequestAreasAsync; ClientTryRequestAreasAsync(); async void ClientTryRequestAreasAsync() { if (Api.Client.Characters.CurrentPlayerCharacter == null) { return; } Logger.Important("Land claim areas requested from server"); var landClaimManagerInstance = await Instance.CallServer( _ => _.ServerRemote_AcquireLandClaimManager()); var areas = LandClaimAreaManager.GetPublicState(landClaimManagerInstance) .LandClaimAreas; Logger.Important($"Land claim areas received from server: {areas.Count} areas total"); ClientLandClaimAreaManager.SetAreas(areas); sharedLandClaimAreas = areas; } }
private void ClientRemote_OnLandOwnerStateChanged(ILogicObject area, bool isOwned) { Logger.Important("Land claim area ownership update: " + area + " isOwned=" + isOwned); ClientLandClaimAreaManager.OnLandOwnerStateChanged(area, isOwned); }
private void ClientRemote_OnLandClaimUpgraded(ILogicObject area) { ClientLandClaimAreaManager.OnLandClaimUpgraded(area); }