/// <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); }
/// <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); }