/// <summary> /// Initializes a new instance of the <see cref="PixelCrushers.LoveHate.DeedTemplate"/> struct. /// </summary> /// <param name="tag">Tag unique to the type of deed (e.g., "attack").</param> /// <param name="impact">Impact of the deed to targets (e.g., attack might be -3, heal +1).</param> /// <param name="aggression">Aggressiveness of the deed [-100,+100].</param> /// <param name="traits">Objective traits of the deed.</param> /// <param name="mustSee">If set to <c>true</c> must be seen to be witnessed.</param> /// <param name="radius">Maximum radius at which the deed can be witnessed.</param> /// <param name="permittedEvaluators">Who is allowed to evaluate the deed.</param> public DeedTemplate(string tag, string description, float impact, float aggression, float[] traits, bool requiresSight, float radius, PermittedEvaluators permittedEvaluators = PermittedEvaluators.Everyone) { this.tag = tag; this.description = description; this.impact = impact; this.aggression = aggression; this.traits = traits; this.requiresSight = requiresSight; this.radius = radius; this.permittedEvaluators = permittedEvaluators; }
public void AssignDeed(Deed deed) { Clear(); deedGuid = deed.guid; tag = deed.tag; actorFactionID = deed.actorFactionID; targetFactionID = deed.targetFactionID; impact = deed.impact; aggression = deed.aggression; actorPowerLevel = deed.actorPowerLevel; Traits.Copy(deed.traits, ref traits); permittedEvaluators = deed.permittedEvaluators; }
/// <summary> /// Assigns content to a deed object. /// </summary> /// <param name="tag">The deed tag (e.g., "attack", "compliment").</param> /// <param name="actorFactionID">Faction ID of the actor that committed the deed.</param> /// <param name="targetFactionID">Faction ID of the target that the action was done to.</param> /// <param name="impact">Impact to the target, where -100 is worst and +100 is best.</param> /// <param name="aggression">Aggressiveness of the deed [-100,+100].</param> /// <param name="actorPowerLevel">The actor's power level.</param> /// <param name="traits">Traits associated with the action.</param> /// <param name="permittedEvaluators">Who is allowed to evaluate the deed.</param> public void Assign(string tag, int actorFactionID, int targetFactionID, float impact, float aggression, float actorPowerLevel, float[] traits, PermittedEvaluators permittedEvaluators = PermittedEvaluators.Everyone) { this.guid = Guid.NewGuid(); this.tag = tag; this.actorFactionID = actorFactionID; this.targetFactionID = targetFactionID; this.impact = impact; this.aggression = aggression; this.actorPowerLevel = actorPowerLevel; this.permittedEvaluators = permittedEvaluators; this.refCount = 1; Traits.Copy(traits, ref this.traits); }
public void AssignRumor(Rumor rumor) { Clear(); deedGuid = rumor.deedGuid; tag = rumor.tag; actorFactionID = rumor.actorFactionID; targetFactionID = rumor.targetFactionID; impact = rumor.impact; aggression = rumor.aggression; actorPowerLevel = rumor.actorPowerLevel; confidence = rumor.confidence; pleasure = rumor.pleasure; arousal = rumor.arousal; dominance = rumor.dominance; Traits.Copy(rumor.traits, ref traits); permittedEvaluators = rumor.permittedEvaluators; }
public void Clear() { deedGuid = Guid.Empty; tag = string.Empty; actorFactionID = 0; targetFactionID = 0; impact = 0; aggression = 0; actorPowerLevel = 0; confidence = 0; pleasure = 0; arousal = 0; dominance = 0; permittedEvaluators = PermittedEvaluators.Everyone; shortTermExpiration = 0; longTermExpiration = 0; customData = null; }
/// <summary> /// Gets a new deed object from the pool. /// </summary> /// <returns>The new.</returns> /// <param name="tag">Tag.</param> /// <param name="actorFactionID">Actor faction ID.</param> /// <param name="targetFactionID">Target faction ID.</param> /// <param name="impact">Impact.</param> /// <param name="traits">Traits.</param> /// <param name="permittedEvaluators">Who is allowed to evaluate the deed.</param> public static Deed GetNew(string tag, int actorFactionID, int targetFactionID, float impact, float aggression, float actorPowerLevel, float[] traits, PermittedEvaluators permittedEvaluators = PermittedEvaluators.Everyone) { var deed = pool.Get(); deed.Assign(tag, actorFactionID, targetFactionID, impact, aggression, actorPowerLevel, traits, permittedEvaluators); return(deed); }