Пример #1
0
        /// <summary>
        /// </summary>
        /// <param name="self">
        /// </param>
        /// <param name="caller">
        /// </param>
        /// <param name="target">
        /// </param>
        /// <param name="arguments">
        /// </param>
        /// <returns>
        /// </returns>
        public override bool Execute(
            INamedEntity self,
            INamedEntity caller,
            IInstancedEntity target,
            MessagePackObject[] arguments)
        {
            var temp = new UploadedNano()
            {
                NanoId = arguments[0].AsInt32()
            };

            ((Character)self).UploadedNanos.Add(temp);
            UploadedNanosDao.WriteNano(((Character)self).Identity.Instance, temp);

            var message = new CharacterActionMessage()
            {
                Identity   = self.Identity,
                Action     = CharacterActionType.UploadNano,
                Target     = self.Identity,
                Parameter1 = (int)IdentityType.NanoProgram,
                Parameter2 = temp.NanoId,
                Unknown    = 0
            };

            ((Character)self).Client.SendCompressed(message);

            return(true);
        }
Пример #2
0
        /// <summary>
        /// </summary>
        /// <returns>
        /// </returns>
        public override bool Read()
        {
            this.DoNotDoTimers = true;
            DBCharacter daochar = CharacterDao.GetById(this.Identity.Instance).FirstOrDefault();

            if (daochar != null)
            {
                this.Name           = daochar.Name;
                this.LastName       = daochar.LastName;
                this.FirstName      = daochar.FirstName;
                this.RawCoordinates = new Vector3 {
                    X = daochar.X, Y = daochar.Y, Z = daochar.Z
                };
                this.RawHeading = new Quaternion(daochar.HeadingX, daochar.HeadingY, daochar.HeadingZ, daochar.HeadingW);
            }

            foreach (int nano in UploadedNanosDao.ReadNanos(this.Identity.Instance))
            {
                this.UploadedNanos.Add(new UploadedNano()
                {
                    NanoId = nano
                });
            }

            this.BaseInventory.Read();
            base.Read();
            this.DoNotDoTimers = false;

            // Implement error checking
            return(true);
        }