public static void RemoveProvider(Node node, IAvatarHintProvider provider) { RequireProviders(); if (providers.TryGetValue(node, out IAvatarHintProvider extProvider) && extProvider == provider) { providers.Remove(node); } }
public static void RemoveProvider(NodePosRot node, IAvatarHintProvider <PositionRotation> provider) { RequireProvidersPosRot(); if (providersPosRot.TryGetValue(node, out IAvatarHintProvider <PositionRotation> extProvider) && extProvider == provider) { providersPosRot.Remove(node); } }
public static void RemoveProvider(NodeFloat node, IAvatarHintProvider <float> provider) { RequireProvidersFloat(); if (providersFloat.TryGetValue(node, out IAvatarHintProvider <float> extProvider) && extProvider == provider) { providersFloat.Remove(node); } }
public static void AddProvider(NodeFloat node, IAvatarHintProvider <float> provider) { RequireProvidersFloat(); if (providersFloat.ContainsKey(node)) { return; } providersFloat[node] = provider; }
public static void AddProvider(Node node, IAvatarHintProvider provider) { RequireProviders(); if (providers.ContainsKey(node)) { // Silently ignoring subsequent providers now as this can happen // on scene reload due to (temporary) multiple player prefabs // Debug.LogError("Multiple AvatarHint providers for node: " + node // + ", but only one can be used at any time. Ignoring."); return; } providers[node] = provider; }