Exemplo n.º 1
0
 /// <summary>
 /// Construct a new bomb on Z-index 10
 /// </summary>
 /// <param name="type">Pattern type</param>
 /// <param name="tile">Bomb Skin</param>
 /// <param name="highlight"> </param>
 /// <param name="orientation"> orientation of the current pattern </param>
 public Bomb(Pattern.Type type, SpriteSheet tile, string highlight = "highlight", int orientation = 0)
     : base(3, tile, EVisibility.Transparent)
 {
     Type = type;
     highlight_ = highlight;
     pattern_ = new Pattern(type, orientation);
 }
Exemplo n.º 2
0
        /// <summary>
        /// Try to merge two patterns. If is possible, the current pattern will be modified
        /// </summary>
        /// <param name="pattern">The pattern to merge with the object</param>
        /// <param name="temp">==== Il sert a quoi lui ? ====</param>
        /// <returns>Merge succeded or not</returns>
        public bool MergePatterns(Pattern pattern, bool temp)
        {
            var pair = new KeyValuePair<Type, Type>(this.SelectedType, pattern.SelectedType);

            if (!mergings_.ContainsKey(pair))
            {
                pair = new KeyValuePair<Type, Type>(pattern.SelectedType, this.SelectedType);
                if (!mergings_.ContainsKey(pair))
                    return false;
            }
            //if (!temp)
            SelectedType = mergings_[pair];
            this.orientation_ = pattern.orientation_;
            if (this.orientation_ >= patterns_[this.SelectedType].Count)
                this.orientation_ = 0;
            return true;
        }