public static void CreateHouse(House _model) { _model.HouseId = CurrentHousesDict.Count > 0 ? CurrentHousesDict.LastOrDefault().Key + 1 : 1; _model.InteriorDimension = _model.HouseId; HouseMarkerColor hmc = new HouseMarkerColor(); _model.LabelOnMap = API.shared.createTextLabel(_model.Name, _model.EntrancePosition, 10, 1, false, _model.EntranceDimension); _model.MarkerOnMap = API.shared.createMarker(_model.MarkerType, _model.EntrancePosition, new Vector3(), _model.EntranceRotation, new Vector3(1, 1, 1), 255, _model.IsSelling ? hmc.SaleColor.Red : hmc.NormalColor.Red, _model.IsSelling ? hmc.SaleColor.Green : hmc.NormalColor.Green, _model.IsSelling ? hmc.SaleColor.Blue : hmc.NormalColor.Blue, _model.EntranceDimension ); while (true) { try { CurrentHousesDict.Add(_model.HouseId, _model); break; } catch (Exception ex) { if (ex.GetType() == typeof(TargetInvocationException)) { _model.HouseId++; } } } //CurrentHousesDict.Add(_house, API.shared.createMarker(_house.MarkerType, _house.EntrancePosition, new Vector3(0, 0, 0), new Vector3(0, 0, 0), new Vector3(1, 1, 1), 255, hmc.SaleColor.Red, hmc.SaleColor.Green, hmc.SaleColor.Blue, _house.EntranceDimension)); SaveChanges(); }
public static bool UpdateHouse(House _model) { try { if (!_model.IsInBuilding) { HouseMarkerColor hmc = new HouseMarkerColor(); _model.LabelOnMap.position = _model.EntrancePosition; _model.LabelOnMap.dimension = _model.EntranceDimension; _model.MarkerOnMap.color = new Color( _model.IsSelling ? hmc.SaleColor.Red : hmc.NormalColor.Red, _model.IsSelling ? hmc.SaleColor.Green : hmc.NormalColor.Green, _model.IsSelling ? hmc.SaleColor.Blue : hmc.NormalColor.Blue ); _model.MarkerOnMap.position = _model.EntrancePosition; _model.MarkerOnMap.dimension = _model.EntranceDimension; } else { if (_model.LabelOnMap != null) { API.shared.deleteEntity(_model.LabelOnMap); } if (_model.MarkerOnMap != null) { API.shared.deleteEntity(_model.MarkerOnMap); } } SaveChanges(); return(true); } catch (Exception ex) { API.shared.consoleOutput(LogCat.Warn, ex.ToString()); return(false); } }