Пример #1
0
        protected ListenerAction OnFundsChanged(Event e)
        {
            try
            {
                FamilyFundsChangedEvent fundEvent = e as FamilyFundsChangedEvent;
                if ((fundEvent != null) && (fundEvent.Actor != null))
                {
                    SimDescription head = SimTypes.HeadOfFamily(fundEvent.Actor.Household);
                    if ((head != null) && (head.CreatedSim == fundEvent.Actor))
                    {
                        string key;
                        if (!mAccountKeys.TryGetValue(fundEvent.Actor.Household, out key))
                        {
                            key = null;
                        }

                        // Sending a null into this funtion automatically sets "Income" or "Expense"
                        AdjustAccounting(head.Household, key, (int)fundEvent.Delta);

                        if (OnFamilyFundsChanged != null)
                        {
                            OnFamilyFundsChanged(this, fundEvent, key);
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                Common.Exception(e.Actor, e.TargetObject, exception);
            }

            return(ListenerAction.Keep);
        }
Пример #2
0
        public void OnFundChanged(ManagerMoney manager, FamilyFundsChangedEvent e, string key)
        {
            sTracer.Perform(manager, e.Actor as Sim, (int)e.Delta, key);

            if (sTracer.mReservingSimDisposed)
            {
                Household house = e.Actor.Household;
                if (house != null)
                {
                    house.mFamilyFunds -= (int)e.Delta;
                }
            }
            else if (manager.DebuggingEnabled)
            {
                if (!sTracer.mIgnore)
                {
                    Common.DebugException(e.Actor, null, new Common.StringBuilder(sTracer.ToString()), new Exception());
                }
            }
        }
Пример #3
0
        public void OnFundChanged(ManagerMoney manager, FamilyFundsChangedEvent e, string key)
        {
            sTracer.Perform(manager, e.Actor as Sim, (int)e.Delta, key);

            if (sTracer.mReservingSimDisposed)
            {
                Household house = e.Actor.Household;
                if (house != null)
                {
                    house.mFamilyFunds -= (int)e.Delta;
                }
            }
            else if (manager.DebuggingEnabled)
            {
                if (!sTracer.mIgnore)
                {
                    Common.DebugException(e.Actor, null, new Common.StringBuilder(sTracer.ToString()), new Exception());
                }
            }
        }