internal Transition(StateMachine <TState, TTransition, TSignal> machine, TTransition name, TickType tickType) : base(name) { this.MachineI = machine; this.CanTransitionI = true; this.SignalsI = new List <Signal <TState, TTransition, TSignal> >(); this.actions = new TransitionActionList(); this.tickableActions = new TickableList(); this.startConditions = new TransitionConditionList(); this.finishConditions = new TransitionConditionList(); this.idleStatus = new IdleStatus(this, tickType); this.startingStatus = new StartingStatus(this, tickType); this.finishingStatus = new FinishingStatus(this, tickType); this.status = this.idleStatus; this.signal = null; }
public byte[] ToByteArray(Context context) { List <byte> result = new List <byte>(49); result.Add(SkillSet.Value); result.AddRange(InnateA.Offset.ToBytes()); result.AddRange(InnateB.Offset.ToBytes()); result.AddRange(InnateC.Offset.ToBytes()); result.AddRange(InnateD.Offset.ToBytes()); result.AddRange(Equipment.ToByteArray(context)); result.Add(HPConstant); result.Add(HPMultiplier); result.Add(MPConstant); result.Add(MPMultiplier); result.Add(SpeedConstant); result.Add(SpeedMultiplier); result.Add(PAConstant); result.Add(PAMultiplier); result.Add(MAConstant); result.Add(MAMultiplier); result.Add(Move); result.Add(Jump); result.Add(CEvade); result.AddRange(PermanentStatus.ToByteArray()); result.AddRange(StatusImmunity.ToByteArray()); result.AddRange(StartingStatus.ToByteArray()); result.Add(AbsorbElement.ToByte()); result.Add(CancelElement.ToByte()); result.Add(HalfElement.ToByte()); result.Add(WeakElement.ToByte()); result.Add(MPortrait); result.Add(MPalette); result.Add(MGraphic); return(result.ToArray()); }