Exemple #1
0
    public new void SetAvailable(bool available)
    {
        if (!available)
        {
            PotentionallyAvailable = false;
            base.SetAvailable(false);

            return;
        }

        if (Dependence == DependenceType.OtherEquipmentDepends)
        {
            PotentionallyAvailable = true;
            base.SetAvailable(true);

            if (OtherEquipment.IsPotentionallyAvailable())
            {
                OtherEquipment.SetAvailable(true);
            }

            return;
        }

        if (Dependence == DependenceType.OtherEquipmentNeededFirst)
        {
            PotentionallyAvailable = true;

            if (OtherEquipment.IsAvailable())
            {
                base.SetAvailable(true);
            }

            return;
        }
    }
Exemple #2
0
    void OnMouseEnter()
    {
        //TODO check refs !
        if (LinkedEquipment == null)
        {
            return;
        }

        EquipmentAtMercy atMercy = LinkedEquipment as EquipmentAtMercy;

        if (!LinkedEquipment.IsAvailable() && !(atMercy && atMercy.IsPotentionallyAvailable()))
        {
            base.OnMouseEnter();
        }
    }