예제 #1
0
        public void Execute(IChoosableAction type, Player player)
        {
            PropertyTile tile = type as PropertyTile;

            ObjectValidator.NullObjectValidation(tile, "The instance type should a be PropertyTile");
            this.Sell(player, tile);
        }
예제 #2
0
        public void Sell(Player player, PropertyTile property)
        {
            ObjectValidator.NullObjectValidation(player, "Player instance cannot be null");
            ObjectValidator.NullObjectValidation(property, "PropertyTile instance cannot be null");

            if (property.Owner == null)
            {
                player.AddMoney(property.Price);
                property.ChangeOwner(null);
            }
        }
예제 #3
0
파일: BuyAction.cs 프로젝트: GAlex7/TA
        public void Buy(Player player, PropertyTile property)
        {
            ObjectValidator.NullObjectValidation(player, "Player instance cannot be null");
            ObjectValidator.NullObjectValidation(property, "PropertyTile instance cannot be null");

            if (property.Owner == null)
            {
                player.WidthdrawMoney(property.Price);
                property.ChangeOwner(player);
            }
        }
예제 #4
0
 public List <PropertyTile> Search(PropertySearch s)
 {
     try
     {
         List <PropertyTile>     tiles = new List <PropertyTile>();
         dbzBest.Data.Properties db    = new dbzBest.Data.Properties();
         tiles = db.Search(s);
         return(tiles);
     }
     catch (System.Exception ex)
     {
         PropertyTile e = new PropertyTile();
         e.Description = ex.Message;
         List <PropertyTile> error = new List <PropertyTile>();
         error.Add(e);
         return(error);
     }
 }
예제 #5
0
        public override void PayRent(Player player, PropertyTile property)
        {
            base.PayRent(player, property);

            if (property.Owner != null && property.Owner != player)
            {
                int numberOfStationsOfOwner = property.Owner.Properties.Count(tile => tile is StationTile);

                if (numberOfStationsOfOwner == StationTile.NumberOfStations)
                {
                    property.Owner.AddMoney(property.BaseRent * numberOfStationsOfOwner);
                    player.WidthdrawMoney(property.BaseRent * numberOfStationsOfOwner);
                }
                else
                {
                    property.Owner.AddMoney(property.BaseRent);
                    player.WidthdrawMoney(property.BaseRent);
                }
            }
        }
예제 #6
0
        public override void PayRent(Player player, PropertyTile property)
        {
            base.PayRent(player, property);

            if (property.Owner != null && property.Owner != player)
            {
                int numberOfStationsOfOwner = property.Owner.Properties.Count(tile => tile is StationTile);



                if (numberOfStationsOfOwner == StationTile.NumberOfStations)
                {
                    property.Owner.AddMoney(property.BaseRent * numberOfStationsOfOwner);
                    player.WidthdrawMoney(property.BaseRent * numberOfStationsOfOwner);
                }
                else
                {
                    property.Owner.AddMoney(property.BaseRent);
                    player.WidthdrawMoney(property.BaseRent);
                }
            }
        }
예제 #7
0
        public override void PayRent(Player player, PropertyTile property)
        {
            base.PayRent(player, property);

            if (property.Owner != null && property.Owner != player)
            {
                StreetTile streetProperty = property as StreetTile;
                ObjectValidator.NullObjectValidation(streetProperty, "Property instance should be a StreetTile");

                int numberOfStreetsInDistrict = streetProperty.Owner.Properties
                    .Count(tile => tile is StreetTile && ((StreetTile)tile).Color == streetProperty.Color);

                if (numberOfStreetsInDistrict == StreetTile.GetNumberOfStreetsInDistrict(streetProperty.Color))
                {
                    streetProperty.Owner.AddMoney(streetProperty.BaseRent * numberOfStreetsInDistrict);
                    player.WidthdrawMoney(streetProperty.BaseRent * numberOfStreetsInDistrict);
                }
                else
                {
                    streetProperty.Owner.AddMoney(streetProperty.BaseRent);
                    player.WidthdrawMoney(streetProperty.BaseRent);
                }
            }
        }
        public override void PayRent(Player player, PropertyTile property)
        {
            base.PayRent(player, property);

            if (property.Owner != null && property.Owner != player)
            {
                StreetTile streetProperty = property as StreetTile;
                ObjectValidator.NullObjectValidation(streetProperty, "Property instance should be a StreetTile");

                int numberOfStreetsInDistrict = streetProperty.Owner.Properties
                                                .Count(tile => tile is StreetTile && ((StreetTile)tile).Color == streetProperty.Color);

                if (numberOfStreetsInDistrict == StreetTile.GetNumberOfStreetsInDistrict(streetProperty.Color))
                {
                    streetProperty.Owner.AddMoney(streetProperty.BaseRent * numberOfStreetsInDistrict);
                    player.WidthdrawMoney(streetProperty.BaseRent * numberOfStreetsInDistrict);
                }
                else
                {
                    streetProperty.Owner.AddMoney(streetProperty.BaseRent);
                    player.WidthdrawMoney(streetProperty.BaseRent);
                }
            }
        }
예제 #9
0
    private static void BuyProperty()
    {
        PropertyTile property = (PropertyTile)TileManager.GetTile(_tileToBuy);

        property.Buy();
    }
 // Use this for initialization
 void Awake()
 {
     tile = new PropertyTile(tileName, tilePrice, tileRent, tileColor, tileHousePrice);
     GetComponent <MeshRenderer> ().material.color = tileColor;
     updateText();
 }