Пример #1
0
    public void CopyState(CUnit Unit)
    {
        mDead = Unit.mDead;

        mPosition       = Unit.mPosition;
        mRotation       = Unit.mRotation;
        mPathing        = Unit.mPathing;
        mCarryingPickup = (Unit.mCarryingPickup != null);
        mWalking        = mPathing || Unit.mAnimWalk;
        mAssignedDeskID = Unit.mAssignedDeskID;
        mAttacking      = Unit.mAttacking;
        mActionAnim     = Unit.mActionAnim;
        mAnimSpeed      = Unit.mAnimSpeed;
        mAction         = Unit.mActionID;
        mActionPhase    = Unit.mActionPhase;
        mWorkIdleTimer  = Unit.mWorkIdleTimer;
        mWorkIdle       = Unit.mWorkTotalIdleTime;

        // Core Stats
        mStats = Unit.mStats;

        // Dynamic Stats
        mStamina          = Unit.mStamina;
        mStress           = Unit.mStress;
        mHunger           = Unit.mHunger;
        mSpeed            = Unit.mSpeed;
        mCollectedSalary  = Unit.mCollectedSalary;
        mFrustrated       = Unit.mFrustrated;
        mCarriedPapers    = (int)Unit.mPapersCarried;
        mPromotionCounter = Unit.mPromotionCounter;
        mThoughtState     = Unit.mThoughtState;

        mSpeech = Unit.mSpeech;
    }
Пример #2
0
    public void InitUnit(CResume Resume)
    {
        mStats = Resume.mStats;

        mName    = mStats.mName;
        mIntern  = (mStats.mTier == 0);
        mStamina = mStats.mMaxStamina;
        mStress  = 0.0f;
        mHunger  = 0.0f;
        mSqrCombatViewDistance = 7 * 7;
        mSpeed = mStats.mMaxSpeed;

        if (mIntern)         // || mWorld.SimRnd.GetNextFloat() >= 0.5f)
        {
            mCombatType = ECombatType.MELEE;
        }
        else
        {
            mCombatType = ECombatType.RANGED;
        }
    }
Пример #3
0
 public void CopyInitialState(CResume Resume)
 {
     mID    = Resume.mID;
     mOwner = Resume.mOwner;
     mStats = Resume.mStats;
 }