Example #1
0
        public static Dictionary<int, QNode> BuildQNodeMap(CMap _map, Dictionary<int, CAnimationObject> _listObject)
        {
            Dictionary<int, QNode> mapNode = new Dictionary<int, QNode>();

            foreach (KeyValuePair<int, CNode> pair in _map.Map)
            {
                QNode node = null;
                List<CAnimationObject> list = new List<CAnimationObject>();
                Rectangle _bound = new Rectangle(pair.Value.X, pair.Value.Y, pair.Value.Width, pair.Value.Height);
                node = new QNode(pair.Key, _bound);
                for (int i = 0; i < pair.Value.ListObject.Count; ++i)
                {
                    foreach (KeyValuePair<int, CAnimationObject> o in _listObject)
                    {
                        if (pair.Value.ListObject[i].ID == o.Key)
                        {
                            list.Add(o.Value);
                        }
                    }
                }
                node.InsertObjects(list);
                mapNode.Add(pair.Key, node);
            }

            return mapNode;
        }
Example #2
0
        public static Dictionary<int, CAnimationObject> BuildObjectInMap(CMap _map)
        {
            Dictionary<int, CAnimationObject> listObject = new Dictionary<int, CAnimationObject>();

            foreach (KeyValuePair<int, CGameObject> pair in _map.ListObjects)
            {
                CAnimationObject _object = null;
                Vector2 _pos = new Vector2(pair.Value.X, pair.Value.Y);
                IDObject _type = (IDObject)pair.Value.Type;
                _object = Build.MakeObject(_type, _pos);

                if (_object != null)
                {
                    listObject.Add(pair.Key, _object);
                }
            }

            // gán coin vào break_question
            foreach (KeyValuePair<int, CAnimationObject> pair in listObject)
            {
                if (pair.Value.IDObject == IDObject.MISC_QUESTION_BRICK)
                {
                    foreach (KeyValuePair<int, CAnimationObject> p in listObject)
                    {
                        if (pair.Value.Position == p.Value.Position && (p.Value.IDObject == IDObject.ITEM_COIN_ACTIVATED ||
                            p.Value.IDObject == IDObject.ITEM_FIRE_FLOWER || p.Value.IDObject == IDObject.ITEM_SUPER_MUSHROOM ||
                            p.Value.IDObject == IDObject.ITEM_1UP_MUSHROOM || p.Value.IDObject == IDObject.ITEM_STARMAN || p.Value.IDObject == IDObject.ITEM_GROW_UP))
                        {
                            pair.Value.SetItem(p.Value);
                        }
                    }
                }
            }
            return listObject;
        }