public static float GetRelationshipFromTag(EntityRelationshipTag tag) { switch (tag) { case EntityRelationshipTag.Enemy: return(0); case EntityRelationshipTag.Family: return(1); case EntityRelationshipTag.Friendly: return(0.7f); case EntityRelationshipTag.Neutral: return(0.5f); } return(0.5f); }
public void SetRelationshipTag(Entity entity, EntityRelationshipTag tag) { if (!entity.IsFixed) { Debug.LogError("[EntityRelationship] Relationship tags can only be set for fixed entities"); return; } //Check if the entity is already known. //Set the tag if (EntityRelationshipTags.ContainsKey(entity.ID)) { EntityRelationshipTags[entity.ID] = tag; } else { EntityRelationshipTags.Add(entity.ID, tag); } //Set the relationship value based on this tag SetEntityRelationship(entity, GetRelationshipFromTag(tag)); }