コード例 #1
0
        public void Apply(VMAvatar avatar)
        {
            avatar.SkinTone = (AppearanceType)SkinTone;
            for (int i = 0; i < PersonDataMap.Length; i++)
            {
                avatar.ForceEnableSkill = true;
                avatar.SetPersonData((VMPersonDataVariable)PersonDataMap[i], PersonData[i]);
                avatar.ForceEnableSkill = false;
            }
            avatar.SetPersonData(VMPersonDataVariable.SkinColor, SkinTone);
            avatar.DefaultSuits                       = DefaultSuits;
            avatar.BodyOutfit                         = new VMOutfitReference(BodyOutfit);
            avatar.HeadOutfit                         = new VMOutfitReference(HeadOutfit);
            avatar.Name                               = Name;
            avatar.AvatarState.Permissions            = Permissions;
            ((VMTSOAvatarState)avatar.TSOState).Flags = AvatarFlags;
            avatar.TSOState.Budget.Value              = Budget;

            avatar.PersistID = PersistID;

            avatar.ReplaceMotiveData(MotiveData);
            avatar.MeToPersist = new Dictionary <uint, List <short> >();
            foreach (var obj in Relationships)
            {
                avatar.MeToPersist[obj.Target] = new List <short>(obj.Values);
            }

            ((VMTSOAvatarState)avatar.TSOState).JobInfo = OnlineJobInfo;
            if (IsWorker)
            {
                avatar.SetPersonData(VMPersonDataVariable.OnlineJobStatusFlags, 1); //validated immediately.
            }
            avatar.SkillLocks = SkillLock;
            ((VMTSOAvatarState)avatar.TSOState).IgnoredAvatars = IgnoredAvatars;
        }