示例#1
0
    public virtual void WeaponAttack(GameObject g)
    {
        EntityResources ER = g.GetComponent <EntityResources>();

        if (ER)
        {
            ER.HealthRemove(Damage);
        }
    }
示例#2
0
文件: Sell.cs 项目: cnavas88/ES2015A
    public override void enable()
    {
        // Give resources back
        IGameEntity     entity    = _gameObject.GetComponent <IGameEntity>();
        EntityResources resources = entity.info.buildingAttributes.sellValue;

        if (resources != null)
        {
            BasePlayer player = BasePlayer.getOwner(entity);
            ResourcesPlacer.get(player).Collect(WorldResources.Type.FOOD, resources.food);
            ResourcesPlacer.get(player).Collect(WorldResources.Type.WOOD, resources.wood);
            ResourcesPlacer.get(player).Collect(WorldResources.Type.METAL, resources.metal);
        }
        else
        {
            Debug.LogWarning(entity + " Have no sellValue on JSON");
        }
        BasePlayer.player.selection.deselectBuilding();
        _gameObject.GetComponent <IGameEntity>().Destroy(true);
        _enabled = true;
        base.enable();
    }
示例#3
0
    private void OnCreated(System.Object obj)
    {
        IGameEntity     entity = (IGameEntity)obj;
        EntityResources res    = entity.info.resources;

        Dictionary <WorldResources.Type, float> d = new Dictionary <WorldResources.Type, float>()
        {
            { WorldResources.Type.FOOD, res.food },
            { WorldResources.Type.WOOD, res.wood },
            { WorldResources.Type.METAL, res.metal }
        };

        BasePlayer      owner  = BasePlayer.getOwner(entity);
        ResourcesPlacer placer = ResourcesPlacer.get(owner);

        bool isUnit = entity.doIfUnit(unit =>
        {
            if (unit.type != UnitTypes.HERO)
            {
                placer.Buy(d);
            }
        });

        if (!isUnit)
        {
            if (((BuildingInfo)entity.info).type != BuildingTypes.STRONGHOLD)
            {
                placer.Buy(d);
            }
        }

        placer.updatePopulation();

        if (entity.info.isResource || entity.info.isUnit)
        {
            placer.StatisticsChanged(entity, CreatePackageFromEntity(entity));
        }
    }
示例#4
0
 public bool enoughResources(EntityResources res)
 {
     return(enoughResources(WorldResources.Type.FOOD, res.food) &&
            enoughResources(WorldResources.Type.METAL, res.metal) &&
            enoughResources(WorldResources.Type.WOOD, res.wood));
 }