public static TriggerConditionBase Create(BinaryReader reader, StringCacheTable cache) { int i = 0; i.OnDeserialize(reader); TriggerConditionBase condition = null; switch (i) { case 0: //GameStateTriggerCondition condition = new GameStateTriggerCondition(); break; case 1: condition = new HitSoundTriggerCondition(); break; default: break; } condition?.OnDeserialize(reader, cache); return(condition);//todo }
public override bool Equals(TriggerConditionBase other) { return(other is HitSoundTriggerCondition sound_cond && sound_cond.CustomSampleSet == CustomSampleSet && sound_cond.SampleSet == SampleSet && sound_cond.SampleSetAdditions == SampleSetAdditions && sound_cond.HitSound == HitSound); }
public IEnumerable<Command> Parse(IEnumerable<string> data_arr) { var condition_text = data_arr.ElementAt(1); var condition = TriggerConditionBase.Parse(condition_text); TriggerCommand command = new TriggerCommand(); command.Condition=condition; command.StartTime=data_arr.ElementAt(2).ToInt(); command.EndTime=string.IsNullOrWhiteSpace(data_arr.ElementAt(3)) ? command.StartTime : data_arr.ElementAt(3).ToInt(); command.GroupID=data_arr.Count()>4 ? (string.IsNullOrWhiteSpace(data_arr.ElementAt(4)) ? 0 : data_arr.ElementAt(4).ToInt()) : 0; yield return command; }
public override bool Equals(TriggerConditionBase other) { return(other is GameStateTriggerCondition game_cond && game_cond.listen_state == listen_state); }