public void Read(TProtocol iprot) { TField field; iprot.ReadStructBegin(); while (true) { field = iprot.ReadFieldBegin(); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 1: if (field.Type == TType.I32) { CharType = (ECharType)iprot.ReadI32(); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 10: if (field.Type == TType.List) { { LstSpeedMove = new List <CharSpeedMove>(); TList _list4 = iprot.ReadListBegin(); for (int _i5 = 0; _i5 < _list4.Count; ++_i5) { CharSpeedMove _elem6 = new CharSpeedMove(); _elem6 = new CharSpeedMove(); _elem6.Read(iprot); LstSpeedMove.Add(_elem6); } iprot.ReadListEnd(); } } else { TProtocolUtil.Skip(iprot, field.Type); } break; default: TProtocolUtil.Skip(iprot, field.Type); break; } iprot.ReadFieldEnd(); } iprot.ReadStructEnd(); }
public void Read (TProtocol iprot) { TField field; iprot.ReadStructBegin(); while (true) { field = iprot.ReadFieldBegin(); if (field.Type == TType.Stop) { break; } switch (field.ID) { case 1: if (field.Type == TType.I32) { CharType = (ECharType)iprot.ReadI32(); } else { TProtocolUtil.Skip(iprot, field.Type); } break; case 10: if (field.Type == TType.List) { { LstSpeedMove = new List<CharSpeedMove>(); TList _list4 = iprot.ReadListBegin(); for( int _i5 = 0; _i5 < _list4.Count; ++_i5) { CharSpeedMove _elem6 = new CharSpeedMove(); _elem6 = new CharSpeedMove(); _elem6.Read(iprot); LstSpeedMove.Add(_elem6); } iprot.ReadListEnd(); } } else { TProtocolUtil.Skip(iprot, field.Type); } break; default: TProtocolUtil.Skip(iprot, field.Type); break; } iprot.ReadFieldEnd(); } iprot.ReadStructEnd(); }
private void DrawCharMove() { GUILayout.Space(5f); if (NGUIEditorTools.DrawHeader("路径节点")) { GUILayout.Space(5f); EditorGUILayout.BeginHorizontal(); { GUILayout.Space(5f); EditorGUILayout.LabelField("节点数量:", GUILayout.Width(80f)); GUILayout.Space(5f); m_nTargetNum = EditorGUILayout.IntField(m_nTargetNum, GUILayout.Width(50f)); GUILayout.Space(15f); if (m_nTargetNum != m_nTargetLastNum) { m_lstSpeedMoveList = new List<CharSpeedMove>(); m_lstLastTimePos = new List<Vector3>(); ClearHintPoint(); m_lstHintPointList = new List<GameObject>(); for (int i = 0; i < m_nTargetNum; i++) { // data ThriftVector3 pos = new ThriftVector3(); pos.SetVector3(new Vector3(0, 0, 0)); CharSpeedMove point = new CharSpeedMove(); point.Target = pos; point.Speed = 5; m_lstSpeedMoveList.Add(point); // state m_lstLastTimePos.Add(new Vector3(0, 0, 0)); GameObject instance = GameObject.Instantiate(m_HintPointSource); GameObject root = GameObject.Find("Canvas"); if (root) { ComponentTool.Attach(root.transform, instance.transform); Text txtComp = instance.GetComponentInChildren<Text>(); if (txtComp) { txtComp.text = (i+1).ToString(); } } m_lstHintPointList.Add(instance); } } EditorGUILayout.BeginVertical(); { if (m_lstSpeedMoveList != null && m_lstSpeedMoveList.Count > 0) { for (int i = 0; i < m_lstSpeedMoveList.Count; i++) { EditorGUILayout.BeginHorizontal(); { GUILayout.Label("节点 " + (i + 1).ToString() + " : ", GUILayout.Width(80f)); Vector3 tmpPos = new Vector3(0, 0, 0); if (m_lstSpeedMoveList[i].Target != null) { tmpPos = m_lstSpeedMoveList[i].Target.GetVector3(); } GUILayout.Label("x", GUILayout.Width(20f)); tmpPos.x = EditorGUILayout.FloatField(tmpPos.x); GUILayout.Label("y", GUILayout.Width(20f)); tmpPos.y = EditorGUILayout.FloatField(tmpPos.y); GUILayout.Label("z", GUILayout.Width(20f)); tmpPos.z = EditorGUILayout.FloatField(tmpPos.z); if (m_lstLastTimePos[i] != tmpPos) { m_lstSpeedMoveList[i].Target.SetVector3(tmpPos); //m_Config.LstTargets = m_lstTargetList; } GUILayout.Space(5f); if (GUILayout.Button("调整位置", GUILayout.Width(100f))) { m_nCurrentSettingPosTriggerIndex = i; ActionEditorRuntime.Instance.SetRaycastCallBack(SetTargetPos); } m_lstLastTimePos[i] = tmpPos; GUILayout.Space(5f); m_lstSpeedMoveList[i].Speed = EditorGUILayout.FloatField("速度:", (float)m_lstSpeedMoveList[i].Speed); } EditorGUILayout.EndHorizontal(); } } } EditorGUILayout.EndVertical(); } EditorGUILayout.EndHorizontal(); } m_nTargetLastNum = m_nTargetNum; }