Пример #1
0
        public override void NetReceive(BinaryReader reader)
        {
            var mymod    = (HonorBoundMod)this.mod;
            var myplayer = (HonorBoundPlayer)TmlHelpers.SafelyGetModPlayer(Main.LocalPlayer, mymod, "HonorBoundPlayer");

            if (!myplayer.HasEnteredWorld)
            {
                return;
            }

            ISet <string> honorifics = new HashSet <string>();

            bool isHonorBound = reader.ReadBoolean();
            bool hasNoHonor   = reader.ReadBoolean();
            int  count        = reader.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                honorifics.Add(reader.ReadString());
            }

            this.Logic = new HonorBoundLogic(isHonorBound, hasNoHonor, honorifics);

            myplayer.OnEnterWorldIfSynced();
        }
Пример #2
0
        public override void Load(TagCompound tag)
        {
            if (tag.ContainsKey("is_honor_bound"))
            {
                bool          isHonorBound = tag.GetBool("is_honor_bound");
                bool          hasNoHonor   = tag.GetBool("has_no_honor");
                ISet <string> honorifics   = new HashSet <string>();

                foreach (string honorific in HonorBoundLogic.Honorifics.Keys)
                {
                    if (tag.GetBool("has_" + honorific))
                    {
                        honorifics.Add(honorific);
                    }
                }

                this.Logic = new HonorBoundLogic(isHonorBound, hasNoHonor, honorifics);
            }
        }
Пример #3
0
        ////////////////

        static HonorBoundLogic()
        {
            try {
                HonorBoundLogic.DefineHonorific(new DuelistHonorificEntry());
                HonorBoundLogic.DefineHonorific(new CautiousHonorificEntry());                      // was 'Prudent'
                HonorBoundLogic.DefineHonorific(new BraveHonorificEntry());
                HonorBoundLogic.DefineHonorific(new SurvivorHonorificEntry());
                HonorBoundLogic.DefineHonorific(new HonorableHonorificEntry());
                HonorBoundLogic.DefineHonorific(new NimbleHonorificEntry());
                HonorBoundLogic.DefineHonorific(new EfficientHonorificEntry());                     // was 'Frugal'
                HonorBoundLogic.DefineHonorific(new ResourcefulHonorificEntry());
                HonorBoundLogic.DefineHonorific(new GenerousHonorificEntry());
                HonorBoundLogic.DefineHonorific(new ExpedientHonorificEntry());
                HonorBoundLogic.DefineHonorific(new StrategistHonorificEntry());
                HonorBoundLogic.DefineHonorific(new CompletionistHonorificEntry());
                HonorBoundLogic.DefineHonorific(new ProcrastinatorHonorificEntry());
            } catch (Exception e) {
                LogHelpers.Log(e.ToString());
                throw e;
            }
        }
Пример #4
0
		////////////////

		public void RefreshAllowedOptions( HonorBoundLogic logic ) {
			if( !this.HasBeenSetup ) { return; }

			bool hasChanged = false;

			foreach( var kv in logic.HonorificAllowed ) {
				string honorific = kv.Key;
				bool isAllowed = kv.Value;

				if( !isAllowed && this.Options.ContainsKey( honorific ) ) {
					var option = this.Options[honorific];

					this.MainPanel.RemoveChild( option );
					this.Options.Remove( honorific );
					hasChanged = true;
				}
			}

			if( hasChanged ) {
				this.Backend.Recalculate();
			}
		}
Пример #5
0
        ////////////////

        public override void Initialize()
        {
            this.Logic = new HonorBoundLogic(false, false, new HashSet <string>());
        }
Пример #6
0
 public void NotAllowed(HonorBoundLogic logic)
 {
     logic.HonorificAllowed[this.Name] = false;
     logic.CurrentActiveHonorifics.Remove(this.Name);
 }
Пример #7
0
 public virtual void PostLoadOff(HonorBoundLogic logic)
 {
 }
Пример #8
0
 public virtual void LoadOn(HonorBoundLogic logic)
 {
 }
Пример #9
0
 public virtual void BegunWorldOff(HonorBoundLogic logic)
 {
 }