/// <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(); } }
void Start() { for (int i = 0; i < 2; ++i) { m_dimensionPanel[i] = transform.GetChild(i + 1).gameObject; if (!m_dimensionPanel[i].name.Contains("Panel")) { m_dimensionPanel[i] = null; } else { var parentSize = transform.parent.GetComponent <RectTransform>().rect; m_dimensionPanel[i].GetComponent <RectTransform>().anchoredPosition = new Vector2(parentSize.width, 0); } } for (int i = 0; i < m_dimensionPanel.Length; ++i) { m_dimensionPanel[i].gameObject.SetActive(false); } m_dome.BindInput(m_dimensionPanel[0].transform); m_cone.BindInput(m_dimensionPanel[1].transform); onTypeChanged += ChangeType; }
public Keybind(string name, Keys key, OnTypeChange onChange = null) { this.Name = name; this.Key = key; this.OnChange = onChange; }
/// <summary> Invoke actions that listen to a change in types. </summary> public void TypeChanged() { OnTypeChange?.Invoke(pokemon); }