Esempio n. 1
0
        // накладываем текстуры на логическое поле
        public void Create()
        {
            Bitmap bitmapField = new Bitmap(PictureField.Width, PictureField.Height);

            bitmapField.SetResolution(72, 72); // по мере заполнения поля добавляем тайлы в битмап
            Point bitmapCoord = new Point();   // координаты для ориентирования в битмапе

            for (int i = 0; i < Level.FieldHeight; i++)
            {
                for (int k = 0; k < Level.FieldWidth; k++)
                {
                    if (Level.LogicField[i, k] == (int)Obj.redBlock)
                    {
                        Objects.Add(new Block(new Rectangle(bitmapCoord.X, bitmapCoord.Y, TileWidth, TileHeight), 1));
                    }
                    else if (Level.LogicField[i, k] == (int)Obj.pad)
                    {
                        // платформа состоит из трёх тайлов
                        Objects.Add(new Pad(new Rectangle(bitmapCoord.X, bitmapCoord.Y, TileWidth * 3, TileHeight)));
                        bitmapCoord.X += TileWidth * 2;
                        k             += 2;
                    }
                    else if (Level.LogicField[i, k] == (int)Obj.ball)
                    {
                        Objects.Add(new Ball(new Rectangle(bitmapCoord.X, bitmapCoord.Y, TileWidth, TileHeight)));
                    }
                    else if (Level.LogicField[i, k] == (int)Obj.redBonusBallBlock)
                    {
                        Objects.Add(new BonusBallBlock(new Rectangle(bitmapCoord.X, bitmapCoord.Y, TileWidth, TileHeight), 1));
                    }
                    else if (Level.LogicField[i, k] == (int)Obj.orangeBlock)
                    {
                        Objects.Add(new Block(new Rectangle(bitmapCoord.X, bitmapCoord.Y, TileWidth, TileHeight), 2));
                    }
                    else if (Level.LogicField[i, k] == (int)Obj.orangeBonusBallBlock)
                    {
                        Objects.Add(new BonusBallBlock(new Rectangle(bitmapCoord.X, bitmapCoord.Y, TileWidth, TileHeight), 2));
                    }
                    else if (Level.LogicField[i, k] == (int)Obj.yellowBlock)
                    {
                        Objects.Add(new Block(new Rectangle(bitmapCoord.X, bitmapCoord.Y, TileWidth, TileHeight), 3));
                    }
                    else if (Level.LogicField[i, k] == (int)Obj.yellowBonusBallBlock)
                    {
                        Objects.Add(new BonusBallBlock(new Rectangle(bitmapCoord.X, bitmapCoord.Y, TileWidth, TileHeight), 3));
                    }
                    else if (Level.LogicField[i, k] == (int)Obj.bonus)
                    {
                        Objects.Add(new BonusBlock(new Rectangle(bitmapCoord.X, bitmapCoord.Y, TileWidth, TileHeight), 1));
                    }
                    bitmapCoord.X += TileWidth;
                }
                bitmapCoord = new Point(0, bitmapCoord.Y + TileHeight);
            }
        }
Esempio n. 2
0
            internal override Part ReadEntry(BinaryReaderEx br)
            {
                PartType type = br.GetEnum32 <PartType>(br.Position + 4);

                switch (type)
                {
                case PartType.MapPiece:
                    var mapPiece = new Part.MapPiece(br);
                    MapPieces.Add(mapPiece);
                    return(mapPiece);

                case PartType.Object:
                    var obj = new Part.Object(br);
                    Objects.Add(obj);
                    return(obj);

                case PartType.Enemy:
                    var enemy = new Part.Enemy(br);
                    Enemies.Add(enemy);
                    return(enemy);

                case PartType.Player:
                    var player = new Part.Player(br);
                    Players.Add(player);
                    return(player);

                case PartType.Collision:
                    var collision = new Part.Collision(br);
                    Collisions.Add(collision);
                    return(collision);

                case PartType.Navmesh:
                    var navmesh = new Part.Navmesh(br);
                    Navmeshes.Add(navmesh);
                    return(navmesh);

                case PartType.DummyObject:
                    var dummyObject = new Part.DummyObject(br);
                    DummyObjects.Add(dummyObject);
                    return(dummyObject);

                case PartType.DummyEnemy:
                    var dummyEnemy = new Part.DummyEnemy(br);
                    DummyEnemies.Add(dummyEnemy);
                    return(dummyEnemy);

                case PartType.ConnectCollision:
                    var connectCollision = new Part.ConnectCollision(br);
                    ConnectCollisions.Add(connectCollision);
                    return(connectCollision);

                default:
                    throw new NotImplementedException($"Unimplemented part type: {type}");
                }
            }
Esempio n. 3
0
        public Village(Game game, Torch.Object parent, byte[] data)
            : base(game, data)
        {
            Name         = "Desert Village";
            SandbagImage = "Zones/Village/Village/sandbag";
            Sandbag      = Grid.FromBitmap(Game.Services, SandbagImage);

            ImageLayers.Add(new ImageObject(Game, parent, "Zones/Village/Village/village"));

            ImageLayers.Add(new ImageObject(Game, parent, "Zones/Village/Village/inn")
            {
                X = 840, Y = 1372, DrawOrder = 1752
            });
            ImageLayers.Add(new ImageObject(Game, parent, "Zones/Village/Village/warehouse")
            {
                X = 155, Y = 1300, DrawOrder = 1918
            });
            ImageLayers.Add(new ImageObject(Game, parent, "Zones/Village/Village/well")
            {
                X = 1400, Y = 863, DrawOrder = 977
            });
            ImageLayers.Add(new ImageObject(Game, parent, "Zones/Village/Village/Posts1")
            {
                X = 70, Y = 1940, DrawOrder = 2100
            });
            ImageLayers.Add(new ImageObject(Game, parent, "Zones/Village/Village/house")
            {
                X = 754, Y = 701, DrawOrder = 1094
            });

            Objects.Add(new InteractiveObject {
                Interact = SimpleDoor("village/shop", "village"), Location = new Rectangle(164 * 6, 192 * 6, 80, 40)
            });

            Doors.Add(new Door {
                Location = new Rectangle(1442, 2057, 171, 37), Name = "coliseum", Orientation = Direction.Up, Zone = "coliseum/halls-north", ZoneDoor = "village"
            });

            Doors.Add(new Door {
                Location = new Rectangle(69 * 6, 315 * 6, 9 * 6, 2), Name = "warehouse", Orientation = Direction.Down, Zone = "village/warehouse", ZoneDoor = "entrance"
            });
            Doors.Add(new Door {
                Location = new Rectangle(69 * 6, 320 * 6, 9 * 6, 2), Name = "warehouse exit", Orientation = Direction.Down
            });

            Doors.Add(new Door {
                Location = new Rectangle(177 * 6, 288 * 6, 12 * 6, 2), Name = "inn", Orientation = Direction.Down, Zone = "village/inn", ZoneDoor = "entrance"
            });
            Doors.Add(new Door {
                Location = new Rectangle(177 * 6, 295 * 6, 12 * 6, 2), Name = "inn exit", Orientation = Direction.Down
            });
            Doors.Add(new Door {
                Location = new Rectangle(164 * 6, 200 * 6, 80, 40), Name = "shop", Orientation = Direction.Down
            });
        }
Esempio n. 4
0
 public void AddObject(GeoObject obj)
 {
     if (!Objects.Contains(obj))
     {
         Objects.Add(obj);
         if (ObjectIsInViewRegion(obj))
         {
             ObjectsInView.Add(obj);
         }
     }
 }
Esempio n. 5
0
        public override void ReadObjects()
        {
            Objects.Clear();

            var objects = Model.GetObjects(DacQueryScopes.UserDefined, TypeClass);

            foreach (var obj in objects)
            {
                Objects.Add(obj.Name.ToString());
            }
        }
Esempio n. 6
0
        public MobData(string path)
        {
            try
            {
                JsonUtil.DeserializeFile(path + "MobPos.bin.json", out List <MobPosJson> mobPosData);

                foreach (var dir in Directory.GetDirectories(path))
                {
                    var collection = new MobCollection();
                    foreach (var file in Directory.GetFiles(dir, "*.json"))
                    {
                        var fileName = Path.GetFileNameWithoutExtension(file);
                        switch (fileName)
                        {
                        case "MobData":
                            JsonUtil.DeserializeFile(file, out MobDataJson dialog);
                            collection.MobData = dialog;
                            break;
                        }
                    }

                    if (collection.MobData?.MobId > 0)
                    {
                        Objects.Add((ushort)collection.MobData.MobId, collection);
                    }
                }

                foreach (var mobPos in mobPosData)
                {
                    if (Objects.ContainsKey(mobPos.MobId))
                    {
                        Objects[mobPos.MobId].MobPos = mobPos;
                    }
                }

                var keys = new List <ushort>();
                foreach (var(key, value) in Objects)
                {
                    if (value.MobPos == null || value.MobData == null)
                    {
                        keys.Add(key);
                    }
                }

                foreach (var key in keys)
                {
                    Objects.Remove(key);
                }
            }
            catch (Exception)
            {
                throw new FileNotFoundException("MOB data is missing.");
            }
        }
Esempio n. 7
0
 public void Add(bool first, GameObject obj)
 {
     if (first)
     {
         Objects.Insert(0, obj);
     }
     else
     {
         Objects.Add(obj);
     }
 }
Esempio n. 8
0
 private void AddAccessObject(IObjecOptions objectOptions)
 {
     //database objects must be the first element in the collecion
     if ((objectOptions.ObjectType == ObjectType.DatabaseDao ||
          objectOptions.ObjectType == ObjectType.DatabasePrj) &&
         Objects.Count > 0)
     {
         throw new ArgumentException(Properties.Resources.DatabaseObjectMustBeFirst);
     }
     Objects.Add(objectOptions);
 }
 public void AddPicker(string name, List <string> variants, string pickerSelected, Action <string> action)
 {
     Objects.Add(new UIDynamicObject()
     {
         Name           = name,
         PickerAction   = action,
         UIType         = UIDynType.Picker,
         PickerVariants = variants,
         PickerSelected = pickerSelected
     });
 }
Esempio n. 10
0
        public HallsEast(Game game, Torch.Object parent, byte[] data)
            : base(game, data)
        {
            Name = "Coliseum Halls East";
            SandbagImage = "Zones/Coliseum/Halls/east-sb";
            Sandbag = Grid.FromBitmap(Game.Services, SandbagImage);
            ImageLayers.Add(new ImageObject(Game, parent, "Zones/Coliseum/Halls/east"));

            Doors.Add(new Door {Location = new Rectangle(60, 450, 35, 50), Name = "halls-south", Orientation = Direction.Right });

            Objects.Add(new InteractiveObject { Interact = SimpleDoor("coliseum/halls-south", "halls-east"), Location = new Rectangle(50, 450, 15, 50) });
        }
Esempio n. 11
0
        public void CreateItem(ItemName itemName)
        {
            if (Objects.Count < MaxItemNumber)
            {
                Vector3    position = MaterialManager.Instance.GetNewMaterialPosition();
                GameObject prefab   = new GameObject();

                GameObject instance = Instantiate(prefab, position, Quaternion.identity, transform);
                Objects.Add(instance);
                CreatedItemNumber[itemName]++;
            }
        }
        public void AddObject(ICutlassSceneObject o)
        {
            SceneObjectId sceneObjectId;

            lock (_SceneObjectIdLock)
            {
                sceneObjectId = _NextSceneObjectId++;
            }

            Objects.Add(sceneObjectId, o);

            //Add object to necessary lists.
            ICutlassLoadable loadable = o as ICutlassLoadable;

            if (loadable != null)
            {
                LoadableObjects.Add(sceneObjectId, loadable);
            }

            ICutlassMovable movable = o as ICutlassMovable;

            if (movable != null)
            {
                MovableObjects.Add(sceneObjectId, movable);
            }

            ICutlassCollidable collidable = o as ICutlassCollidable;

            if (collidable != null)
            {
                CollidableObjects.Add(sceneObjectId, collidable);
            }

            ICutlassUpdateable updateable = o as ICutlassUpdateable;

            if (updateable != null)
            {
                UpdateableObjects.Add(sceneObjectId, updateable);
            }

            ICutlassDrawable drawable = o as ICutlassDrawable;

            if (drawable != null)
            {
                DrawableObjects.Add(sceneObjectId, drawable);
            }

            //If this scene has already been initialized, initialize this object now.
            if (_Initialized && loadable != null)
            {
                loadable.LoadContent();
            }
        }
Esempio n. 13
0
        public override void Init()
        {
            Utility.Game.IsMouseVisible = false;
            LevelManager.UpdateCamera   = true;

            Objects.Add(new Floor());
            Objects.Add(new Wall());
            Objects.Add(new Ceiling());
            Objects.Add(new GameUI());

            Mouse.SetPosition(GameSettings.Width / 2, GameSettings.Height / 2);
        }
Esempio n. 14
0
        /// <inheritdoc />
        protected override void GetherObjects(DragDataText data, Func <ContentItem, bool> validateFunc)
        {
            var items = ParseData(data);

            for (int i = 0; i < items.Length; i++)
            {
                if (validateFunc(items[i]))
                {
                    Objects.Add(items[i]);
                }
            }
        }
Esempio n. 15
0
        /// <summary>
        ///   Manually add an item.
        /// </summary>
        /// <param name="item">Object to add</param>
        /// <param name="sort">
        ///   Whether to sort list following item addition.
        /// </param>
        public virtual void AddManual(T item, bool sort = true)
        {
            lock (LockObject)
            {
                Objects.Add(item);

                if (sort)
                {
                    Sort();
                }
            }
        }
Esempio n. 16
0
        public void AddEntry(EntryObjectDTO entry)
        {
            IMovable movable = entry as IMovable;

            if (movable != null)
            {
                //if the entry requires a date then set the date from TrainingDay object
                movable.Move(this.TrainingDate);
            }
            entry.TrainingDay = this;
            Objects.Add(entry);
        }
Esempio n. 17
0
 public void Add(GameObject stick)
 {
     Objects.Add(new Stick()
     {
         Item            = stick,
         IsPassed        = false,
         Index           = ++index,
         IsPlayerCanMove = false,
         IsMade          = false
     });
     stick.name += index.ToString();
 }
Esempio n. 18
0
        public void can_catch_this()
        {
            Location = Room <InsideBuilding>();

            var octopus = new Octopus();

            octopus.Initialize();

            Objects.Add(octopus, Location);

            Execute("catch octopus");
            Assert.Equal("Yeah right!", Line1);
        }
Esempio n. 19
0
        public void cant_catch_this()
        {
            Location = Room <InsideBuilding>();

            var shark = new Shark();

            shark.Initialize();

            Objects.Add(shark, Location);

            Execute("catch shark");
            Assert.Equal("You can't catch that.", Line1);
        }
Esempio n. 20
0
        /// <summary>
        ///     Creates an end point in the level
        /// </summary>
        /// <param name="node">XML node representing the end point</param>
        private void CreateEndPoint(XmlNode node)
        {
            if (node.Attributes == null)
            {
                throw new XmlException("StartPoint node doesn't have any attributes");
            }

            var radius   = int.Parse(node.Attributes["radius"].InnerText);
            var image    = ResourceManager.Instance.LoadImage("#end.png");
            var location = ParseLocation(node.Attributes["location"].InnerText);

            Objects.Add(new FinishObject(radius, image, GameWindow.Instance.DrawingPanel, location, true));
        }
Esempio n. 21
0
        public override void AddObject(IObject obj, bool initializeMaterial = false)
        {
            if (obj == null)
            {
                ActiveLogger.LogMessage("Cant add null obj", LogLevel.RecoverableError);
                return;
            }

            EntityMapper.getInstance().AddEntity(obj);
            PhysicWorld.AddObject(obj.PhysicObject);
            obj.PhysicObject.ObjectOwner = obj;
            Objects.Add(obj);
        }
Esempio n. 22
0
        public List <List <string> > ReadObjectFile(string filepath)
        {
            using (var stream = new StreamReader(filepath))
            {
                string str = null;
                while ((str = stream.ReadLine()) != null)
                {
                    Objects.Add(new List <string>(str.Split(';')));
                }
            }

            return(Objects);
        }
Esempio n. 23
0
        /// <summary>
        /// Parses line in object block
        /// </summary>
        /// <remarks>
        /// An object line has one of 2 forms.
        /// The first is just a declaration of the name
        /// Object1
        ///
        /// The second is a name declaration and a count of usages if > 1
        /// Object12 <6>
        /// </remarks>
        /// <param name="line">The line to parse</param>
        private void ParseObjects(string line)
        {
            var data = line.SplitWhitespace();

            Validate("Objects array is empty", () => data.Any());

            Objects.Add(new ScripterObject
            {
                Name       = data.First(),
                Usages     = int.Parse(data.Skip(1).FirstOrDefault()?.Trim('<', '>') ?? "1"),
                LineNumber = _lineNo,
            });
        }
Esempio n. 24
0
 object IXtraSupportDeserializeCollectionItem.CreateCollectionItem(string propertyName, XtraItemEventArgs e)
 {
     if (propertyName == "Objects")
     {
         Class1 class1 = new Class1();
         Objects.Add(class1);
         return(class1);
     }
     else
     {
         return(null);
     }
 }
Esempio n. 25
0
 public SolidCone(float r, float h, string name)
     : base(name)
 {
     Objects.Add(new OpenCone(r, h, name + "OpenCone"));
     Objects.Add(new Disk(new Vector3(0, 0, 0), Vector3.Down(), r, name + "Disk"));
     bbox       = new BBox();
     bbox.Min.X = -r;
     bbox.Min.Y = 0;
     bbox.Min.Z = -r;
     bbox.Max.X = r;
     bbox.Max.Y = h;
     bbox.Max.Z = r;
 }
 public SolidCylinder(float bottom, float top, float radius, string name)
     : base(name)
 {
     Objects.Add(new Disk(new Vector3(0, bottom, 0), Vector3.Down(), radius, name + "Disk"));
     Objects.Add(new OpenCylinder(bottom, top, radius, name + "OpenCylinder"));
     Objects.Add(new Disk(new Vector3(0, top, 0), Vector3.Up(), radius, name + "Disk2"));
     bbox.Min.X = -radius;
     bbox.Min.Y = bottom;
     bbox.Min.Z = -radius;
     bbox.Max.X = radius;
     bbox.Max.Y = top;
     bbox.Max.Z = radius;
 }
Esempio n. 27
0
        public void Leave(WorldObject obj)
        {
            if (!Objects.Contains(obj))
            {
                return;
            }

            if (obj is Character)
            {
                Clients.Remove((obj as Character).Client);
            }
            Objects.Add(obj);
        }
 public ActionResult Create(BookTableModel model)
 {
     if (!ModelState.IsValid)
     {
         ViewBag.BookName = CreateBookNamesSelectList();
         return(View(model));
     }
     Objects.Add((BookGiving)model);
     StaticDataContext.Save();
     TempData["message"] = string.Format(
         "Дані \"{0}\" збережено", model.BookName);
     return(RedirectToAction("Index"));
 }
Esempio n. 29
0
        /// <summary>
        /// Lisää annetun peliolion tämän olion lapseksi. Lapsiolio liikkuu tämän olion mukana,
        /// ja sen paikka ja koko ilmaistaan suhteessa tähän olioon.
        /// </summary>
        /// <remarks>
        /// <c>PhysicsObject</c>-tyyppisiä olioita ei voi lisätä lapsiolioksi.
        /// </remarks>
        public void Add(IGameObject childObject)
        {
            //if (childObject is Jypeli.Assets.Explosion)
            //    throw new ArgumentException("Explosion as child object is not supported. Use Game.Add(explosion) instead.");

            if (!(childObject is GameObject))
            {
                throw new ArgumentException("Child object can not be a non-GameObject");
            }

            Objects.Add((GameObject)childObject);
            childObject.Parent = this;
        }
        public void UpdateGlobal( )
        {
            Context.NotifySpeckleFrame("client-log", StreamId, JsonConvert.SerializeObject("Global update received."));

            try
            {
                var streamGetResponse = Client.StreamGetAsync(StreamId, null).Result;
                if (streamGetResponse.Success == false)
                {
                    Context.NotifySpeckleFrame("client-error", StreamId, streamGetResponse.Message);
                    Context.NotifySpeckleFrame("client-log", StreamId, JsonConvert.SerializeObject("Failed to retrieve global update."));
                }


                Client.Stream = streamGetResponse.Resource;
                Context.NotifySpeckleFrame("client-metadata-update", StreamId, Client.Stream.ToJson());
                Context.NotifySpeckleFrame("client-is-loading", StreamId, "");

                // prepare payload
                var payload = Client.Stream.Objects.Where(o => !Context.SpeckleObjectCache.ContainsKey(o._id)).Select(obj => obj._id).ToArray();

                var getObjectsResult = Client.ObjectGetBulkAsync(payload, "omit=displayValue").Result;

                if (getObjectsResult.Success == false)
                {
                    Context.NotifySpeckleFrame("client-error", StreamId, streamGetResponse.Message);
                }

                // add to cache
                foreach (var obj in getObjectsResult.Resources)
                {
                    Context.SpeckleObjectCache[obj._id] = obj;
                }

                // populate real objects
                Objects.Clear();
                foreach (var obj in Client.Stream.Objects)
                {
                    Objects.Add(Context.SpeckleObjectCache[obj._id]);
                }

                DisplayContents();
                Context.NotifySpeckleFrame("client-done-loading", StreamId, "");
            }
            catch (Exception err)
            {
                Context.NotifySpeckleFrame("client-error", Client.Stream.StreamId, JsonConvert.SerializeObject(err.Message));
                Context.NotifySpeckleFrame("client-done-loading", StreamId, "");
                return;
            }
        }