示例#1
0
        /// <summary>
        /// Copy data from the provided argument into this object.
        /// </summary>
        /// <param name="controller"></param>
        public void Stamp(Controller controller)
        {
            SetasideZone.Stamp(controller.SetasideZone);
            BoardZone.Stamp(controller.BoardZone);
            DeckZone.Stamp(controller.DeckZone);
            HandZone.Stamp(controller.HandZone);
            GraveyardZone.Stamp(controller.GraveyardZone);
            SecretZone.Stamp(controller.SecretZone);

            DeckCards.AddRange(controller.DeckCards);
            BaseClass = controller.BaseClass;
            base.Stamp(controller);

            //Hero = FromCard(this, controller.Hero.Card, null, null, controller.Hero.Id) as Hero;
            //Hero.Stamp(controller.Hero);
            Hero = (Hero)controller.Hero.Clone(this);

            //Hero.Power = FromCard(this, controller.Hero.Power.Card, null, null, controller.Hero.Power.Id) as HeroPower;
            //Hero.Power.Stamp(controller.Hero.Power);
            Hero.Power = (HeroPower)controller.Hero.Power.Clone(this);

            if (controller.Hero.Weapon != null)
            {
                //Hero.Weapon =
                //	FromCard(this, controller.Hero.Weapon.Card, null, null, controller.Hero.Weapon.Id) as Weapon;
                //Hero.Weapon.Stamp(controller.Hero.Weapon);
                Hero.Weapon = (Weapon)controller.Hero.Weapon.Clone(this);
            }

            if (controller.Choice != null)
            {
                Choice = new Choice(this);
                Choice.Stamp(controller.Choice);
            }
        }
示例#2
0
        /// <summary>
        /// Copy data from the provided argument into this object.
        /// </summary>
        /// <param name="controller"></param>
        public void Stamp(Controller controller)
        {
            ControlledZones.Stamp(controller.ControlledZones);
            DeckCards.AddRange(controller.DeckCards);
            BaseClass = controller.BaseClass;
            base.Stamp(controller);
            Hero = FromCard(this, controller.Hero.Card, null, null, controller.Hero.Id) as Hero;
            Hero.Stamp(controller.Hero);
            Hero.Power = FromCard(this, controller.Hero.Power.Card, null, null, controller.Hero.Power.Id) as HeroPower;
            Hero.Power.Stamp(controller.Hero.Power);
            if (controller.Hero.Weapon != null)
            {
                Hero.Weapon =
                    FromCard(this, controller.Hero.Weapon.Card, null, null, controller.Hero.Weapon.Id) as Weapon;
                Hero.Weapon.Stamp(controller.Hero.Weapon);
            }

            if (controller.Choice != null)
            {
                Choice = new Choice(this);
                Choice.Stamp(controller.Choice);
            }
        }