private void TriggerRemoveTest(Placeable p1, Placeable p2, Ksids ksids) { if (p2.IsTrigger && ksids.IsParentOrEqual(p1.Ksid, p2.TriggerTargets)) { p2.RemoveTarget(p1); } if (p1.IsTrigger && ksids.IsParentOrEqual(p2.Ksid, p1.TriggerTargets)) { p1.RemoveTarget(p2); } }
public bool ContainsType(Vector2 pos, Ksid ksid) { if (WorldToCell(pos, out var cellPos)) { foreach (var p in cells[cellPos]) { if (ksids.IsParentOrEqual(p.Ksid, ksid)) { return(true); } } } return(false); }
private void MovingObjTest(Placeable p) { if (Ksids.IsParentOrEqual(p.Ksid, Ksid.SandLike) && p.IsNonMoving) { float y = Mathf.Repeat(p.Pivot.y, Map.CellSize.y); float dy = p.PosOffset.y + p.Size.y; if (y + dy > Map.CellSizeY3div4) { Map.AddCellStateTest(Map.WorldToCell(p.Pivot), p.CellZ == 0 ? CellStateCahnge.CompactSand0 : CellStateCahnge.CompactSand1); } } }