/// <summary> /// Change the train type /// </summary> /// <param name="type"></param> public void ChangeType(TrainType type) { var sourceType = TrainType; TrainType = type; //do some things if (OnTypeChange != null) { var info = BuildInfo(); var args = new TrainTypeChangeEventArgs() { SourceType = sourceType, DestinationType = type, Train = info, }; OnTypeChange.Invoke(this, args); } //如果从未操作变成读,或者写 if (sourceType == TrainType.Default && type != TrainType.Default) { LoadFiles(); } }
/// <summary> Invoke actions that listen to a change in types. </summary> public void TypeChanged() { OnTypeChange?.Invoke(pokemon); }