public void RepositionAround(SerializableVector3I pivotPos) { _cube.Min.x -= pivotPos.x; _cube.Min.y -= pivotPos.y; _cube.Min.z -= pivotPos.z; Position = new BindablePoint3DIModel(_cube.Min); }
private void SetProperties(MyObjectBuilder_CubeBlock cube, MyCubeBlockDefinition definition) { Cube = cube; Position = new BindablePoint3DIModel(cube.Min); SetColor(cube.ColorMaskHSV); BuildPercent = cube.BuildPercent; if (definition == null) { // Obsolete block or Mod not loaded. return; } CubeSize = definition.CubeSize; FriendlyName = SpaceEngineersApi.GetResourceName(definition.DisplayNameText); var ownerIdentity = SpaceEngineersCore.WorldResource.Checkpoint.Identities.FirstOrDefault(p => p.PlayerId == Owner); var buyiltByIdentity = SpaceEngineersCore.WorldResource.Checkpoint.Identities.FirstOrDefault(p => p.PlayerId == BuiltBy); var ownerDead = $" ({Res.ClsCharacterDead})"; var builtByDead = $" ({Res.ClsCharacterDead})"; if (SpaceEngineersCore.WorldResource.Checkpoint.AllPlayersData != null) { var ownerPlayer = SpaceEngineersCore.WorldResource.Checkpoint.AllPlayersData.Dictionary.FirstOrDefault(kvp => kvp.Value.IdentityId == Owner); ownerDead = ownerPlayer.Value == null ? $" ({Res.ClsCharacterDead})" : ""; var builtByPlayer = SpaceEngineersCore.WorldResource.Checkpoint.AllPlayersData.Dictionary.FirstOrDefault(kvp => kvp.Value.IdentityId == BuiltBy); builtByDead = builtByPlayer.Value == null ? $" ({Res.ClsCharacterDead})" : ""; } OwnerName = ownerIdentity == null ? null : ownerIdentity.DisplayName + ownerDead; BuiltByName = buyiltByIdentity == null ? null : buyiltByIdentity.DisplayName + builtByDead; TypeId = definition.Id.TypeId; SubtypeId = definition.Id.SubtypeName; PCU = definition.PCU; if (Inventory == null) { Inventory = new ObservableCollection <InventoryEditorModel>(); } foreach (var item in cube.ComponentContainer.GetInventory(definition)) { Inventory.Add(item); } while (Inventory.Count < 2) { Inventory.Add(new InventoryEditorModel(false)); } }
private void SetProperties(MyObjectBuilder_CubeBlock cube, MyObjectBuilder_CubeBlockDefinition definition) { Cube = cube; Position = new BindablePoint3DIModel(cube.Min); SetColor(cube.ColorMaskHSV); BuildPercent = cube.BuildPercent; if (definition == null) { // Obsolete block or Mod not loaded. return; } CubeSize = definition.CubeSize; FriendlyName = SpaceEngineersApi.GetResourceName(definition.DisplayName); var identity = SpaceEngineersCore.WorldResource.Checkpoint.Identities.FirstOrDefault(p => p.PlayerId == Owner); var dead = " (dead)"; if (SpaceEngineersCore.WorldResource.Checkpoint.AllPlayersData != null) { var player = SpaceEngineersCore.WorldResource.Checkpoint.AllPlayersData.Dictionary.FirstOrDefault(kvp => kvp.Value.IdentityId == Owner); dead = player.Value == null ? " (dead)" : ""; } OwnerName = identity == null ? null : identity.DisplayName + dead; TypeId = definition.Id.TypeId; SubtypeId = definition.Id.SubtypeId; if (Inventory == null) Inventory = new ObservableCollection<InventoryEditorModel>(); foreach (var item in cube.ComponentContainer.GetInventory(definition)) Inventory.Add(item); while (Inventory.Count < 2) { Inventory.Add(new InventoryEditorModel(false)); } }