public static bool UpdateCraftingTableOnMap(CraftingTablesOnMap _model) { if (_model != null) { try { var editedModel = GetCraftingTableOnMap(_model.CraftingTableModelId); API.shared.deleteEntity(editedModel.TableOnMap); var _table = GetCraftingTableModel(_model.CraftingTableModelId); if (_table == null) { return(false); } editedModel.TableOnMap = API.shared.createObject(_table.ObjectId, _model.Position + new Vector3(0, 0, -1), _model.Rotation, _model.Dimension); editedModel.TextLabelOnMap.position = _model.Position; editedModel.TextLabelOnMap.dimension = _model.Dimension; SaveChanges(saveType.OnMap); return(true); } catch (Exception ex) { API.shared.consoleOutput(LogCat.Warn, ex.ToString()); } return(false); } else { API.shared.consoleOutput(LogCat.Warn, "UpdateCraftingTable model boş gönderildi."); } return(false); }
public static CraftingTablesOnMap GetNearestCraftingTableOnMap(Vector3 position) { CraftingTablesOnMap nearest = craftingTablesOnMap.FirstOrDefault().Value; foreach (var itemTable in craftingTablesOnMap.Values) { if (Vector3.Distance(itemTable.Position, position) < Vector3.Distance(nearest.Position, position)) { nearest = itemTable; } } return(nearest); }
public static bool CreateCraftingTableOnMap(CraftingTablesOnMap _model) { try { var _table = GetCraftingTableModel(_model.CraftingTableModelId); if (_table == null) { return(false); } _model.TableOnMapId = craftingTablesOnMap.Count > 0 ? craftingTablesOnMap.LastOrDefault().Key + 1 : 1; _model.TableOnMap = API.shared.createObject(_table.ObjectId, _model.Position + new Vector3(0, 0, -1), _model.Rotation, _model.Dimension); _model.TextLabelOnMap = API.shared.createTextLabel(_model.Name, _model.Position, 15, 1, true, _model.Dimension); craftingTablesOnMap.Add(_model.TableOnMapId, _model); SaveChanges(saveType.OnMap); API.shared.consoleOutput("saved crafting"); return(true); } catch (Exception ex) { API.shared.consoleOutput(LogCat.Warn, ex.ToString()); } return(false); }