private void LoadCollisionComponent(GameEntity entity, CollisionComponentInfo info) { var comp = new CollisionComponent(); entity.AddComponent(comp); comp.Loadinfo(info); }
public IComponentInfo Load(XElement node, Project project) { var component = new CollisionComponentInfo(); foreach (var boxnode in node.Elements("Hitbox")) { var box = GetHitbox(boxnode); foreach (var groupnode in boxnode.Elements("Hits")) { box.Hits.Add(groupnode.Value); } foreach (var groupnode in boxnode.Elements("Group")) { box.Groups.Add(groupnode.Value); } foreach (var resistNode in boxnode.Elements("Resist")) { var resistName = resistNode.GetAttribute <string>("name"); float mult = resistNode.GetAttribute <float>("multiply"); box.Resistance.Add(resistName, mult); } component.HitBoxes.Add(box); } component.Enabled = node.TryAttribute <bool>("Enabled"); return(component); }
internal void Loadinfo(CollisionComponentInfo info) { Enabled = info.Enabled; foreach (var box in info.HitBoxes) { var coll = new CollisionBox(box); coll.SetParent(this); AddBox(coll); } }