// For cloning. public object Clone() { // We don't clone Cell to avoid recursion. BasicUnit unit = new BasicUnit(null, Facing, Class.Tag); unit.HealthPoints = (Parameter <int>)HealthPoints.Clone(); unit.ActionPoints = (Parameter <int>)ActionPoints.Clone(); return(unit); }