Пример #1
0
 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);
 }
Пример #2
0
        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));
            }
        }
Пример #3
0
        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));
            }
        }