public Actor GetMostHateActor() { PartnerState state = null; foreach (var item in mHatredPartners) { if (item == null || item.TargetActor == null) { continue; } if (state == null) { state = item; continue; } if (state != null && item.Value > state.Value) { state = item; } } if (state != null) { return(state.TargetActor); } return(null); }
public void BeAttacked(Damage damage) { if (damage == null) { return; } var src_actor = damage.src; if (src_actor == null) { return; } var target_actor = damage.target; if (target_actor == null) { return; } PartnerState state = GetHatredPartnerState(src_actor); if (state == null) { return; } state.Value += (uint)damage.DamageValue; }
private static PartnerState _instance; //only declared once private PartnerState() //set instance to itself { if (_instance != null) { return; } _instance = this; }
private PartnerState GetHatredPartnerState(Actor actor) { if (actor == null) { return(null); } foreach (var item in mHatredPartners) { if (item.TargetActor == actor) { return(item); } } PartnerState state = new PartnerState(); state.TargetActor = actor; state.Value = 0; mHatredPartners.AddLast(state); return(state); }