前言
用了一些視屏錄制插件豹悬,不過文件讀比較大范抓,后來改成記錄事件狀態(tài),文件就比較小了拇砰,在使用Probuff來傳輸數(shù)據(jù)梅忌,回放的時候就不會有卡頓。
ReTenderPlay.cs
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.Serialization.Formatters.Binary;
using GGTPlugin;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using Google.Protobuf;
using Tenders.Protobuf;
/// <summary>
/// 回放
/// </summary>
public class ReTenderPlay : MonoBehaviour
{
public List<GameObject> ReparenetGameObjects;
public List<GameObject> RePlayGameObjects;
public List<GameObject> putlab;
// public Hashtable ht;
// public Hashtable ht1;
// public Hashtable reht;
// public Hashtable reht1;
// public int maxFrame;
// public int reMaxFrame;
public DateTime date;
public DateTime reDate;
public string SGYQ;
public string filepath;
public static ReTenderPlay instance;
public float time;
public int step;
public bool flag = false;
public bool putflag;
public ShowTianqi st;
public ReTenderplayWnd rw;
public Image zhezhao;
public ReTenderplayData Hd = new ReTenderplayData(); //記錄回放數(shù)據(jù)
public ReTenderplayData rd = new ReTenderplayData(); //加載回放數(shù)據(jù)
public bool flag_cun = false;
public int zengliang; //每一個回放的鄭亮
public int ZhenSum; //每一個回放的總幀數(shù)
public int CurrentmaxZhen; //播放開始幀數(shù)
public static ReTenderPlay _instance;
void Awake()
{
_instance = this;
}
public void Start()
{
instance = this;
// ht = new Hashtable();
foreach (var VARIABLE1 in ReparenetGameObjects.SelectMany(VARIABLE => VARIABLE.GetComponentsInChildren<Scrollbar>(true)))
{
RePlayGameObjects.Add(VARIABLE1.gameObject);
}
foreach (var VARIABLE1 in ReparenetGameObjects.SelectMany(VARIABLE => VARIABLE.GetComponentsInChildren<Dropdown>(true)))
{
RePlayGameObjects.Add(VARIABLE1.gameObject);
}
foreach (var VARIABLE1 in ReparenetGameObjects.SelectMany(VARIABLE => VARIABLE.GetComponentsInChildren<Button>(true)))
{
RePlayGameObjects.Add(VARIABLE1.gameObject);
VARIABLE1.gameObject.AddComponent<TenderClickTrigger>();
}
foreach (var VARIABLE1 in ReparenetGameObjects.SelectMany(VARIABLE => VARIABLE.GetComponentsInChildren<InputField>(true)))
{
RePlayGameObjects.Add(VARIABLE1.gameObject);
}
foreach (var VARIABLE1 in ReparenetGameObjects.SelectMany(VARIABLE => VARIABLE.GetComponentsInChildren<Slider>(true)))
{
RePlayGameObjects.Add(VARIABLE1.gameObject);
VARIABLE1.gameObject.AddComponent<TenderClickTrigger>();
}
foreach (var VARIABLE1 in ReparenetGameObjects.SelectMany(VARIABLE => VARIABLE.GetComponentsInChildren<Toggle>(true)))
{
RePlayGameObjects.Add(VARIABLE1.gameObject);
VARIABLE1.gameObject.AddComponent<TenderClickTrigger>();
}
//RePlayGameObjects.Add(st.gameObject);
}
// void FixedUpdate()
// {
//// ZhenSum++;
//// if(flag)
//// {
//// Play();
//// }
// }
void Update()
{
ZhenSum++;
if (flag)
{
Play();
}
}
//執(zhí)行回放
public void Play()
{
rw.Play();
foreach (var VARIABLE in rd.Ht.Keys)
{
if (Time.frameCount == CurrentmaxZhen + Int32.Parse(VARIABLE.ToString().Substring(0, VARIABLE.ToString().IndexOf("_"))))
{
//根據(jù)Id找到物體
string o = (string)rd.Ht[VARIABLE];
string buttonid = null;
string sliderid = null;
string sliderNum = null;
string inputId = null;
string inputValue = null;
string toggleID = null;
bool togglevalue = false;
string Scrollbarid = null;
float ScrollbarValue = 0;
string DropDownid = null;
int DropDownValue = 0;
for (int j = 0; j < DoSplit(o).Length; j++)
{
if (DoSplit(o)[j].Contains("[s]"))
{
sliderid = DoSplit(o)[j].Replace("[s]", "");
}
if (DoSplit(o)[j].Contains("[b]"))
{
buttonid = DoSplit(o)[j].Replace("[b]", "");
}
if (DoSplit(o)[j].Contains("[t]"))
{
toggleID = DoSplit(o)[j].Replace("[t]", "");
}
if (DoSplit(o)[j].Contains("[tv]"))
{
togglevalue = bool.Parse(DoSplit(o)[j].Replace("[tv]", ""));
}
if (DoSplit(o)[j].Contains("[v]"))
{
sliderNum = DoSplit(o)[j].Replace("[v]", "");
}
if (DoSplit(o)[j].Contains("[i]"))
{
inputId = DoSplit(o)[j].Replace("[i]", "");
}
if (DoSplit(o)[j].Contains("[n]"))
{
inputValue = DoSplit(o)[j].Replace("[n]", "");
}
if (DoSplit(o)[j].Contains("[SV]"))
{
ScrollbarValue = float.Parse(DoSplit(o)[j].Replace("[SV]", ""));
}
if (DoSplit(o)[j].Contains("[SC]"))
{
Scrollbarid = DoSplit(o)[j].Replace("[SC]", "");
}
if (DoSplit(o)[j].Contains("[DV]"))
{
DropDownValue = int.Parse(DoSplit(o)[j].Replace("[DV]", ""));
}
if (DoSplit(o)[j].Contains("[DC]"))
{
DropDownid = DoSplit(o)[j].Replace("[DC]", "");
}
//記錄鼠標(biāo)
foreach (var VARIABLE1 in RePlayGameObjects)
{
//按鈕
if (VARIABLE1.GetComponent<Tender_GUID>().ID == (Convert.ToInt32(buttonid)))
{
if (VARIABLE1.GetComponent<Button>() != null)
{
VARIABLE1.GetComponent<Button>().onClick.Invoke();
}
}
//toggle
if (VARIABLE1.GetComponent<Tender_GUID>().ID == Convert.ToInt32(toggleID))
{
if (VARIABLE1.GetComponent<Toggle>() != null)
{
VARIABLE1.GetComponent<Toggle>().isOn = togglevalue;
try
{
RYDownShow._instance.updateData();
}
catch (Exception ex)
{
}
}
}
//滑動
if (VARIABLE1.GetComponent<Tender_GUID>().ID == Convert.ToInt32(sliderid))
{
if (VARIABLE1.GetComponent<Slider>() != null)
{
VARIABLE1.GetComponent<Slider>().value = Convert.ToInt32(sliderNum);
}
}
//滾動條
if (VARIABLE1.GetComponent<Tender_GUID>().ID == Convert.ToInt32(Scrollbarid))
{
if (VARIABLE1.GetComponent<Scrollbar>() != null)
{
VARIABLE1.GetComponent<Scrollbar>().value = ScrollbarValue;
VARIABLE1.GetComponent<Scrollbar>().onValueChanged.Invoke(-1);
}
}
//下拉列表
if (VARIABLE1.GetComponent<Tender_GUID>().ID == Convert.ToInt32(DropDownid))
{
if (VARIABLE1.GetComponent<Dropdown>() != null)
{
VARIABLE1.GetComponent<Dropdown>().value = DropDownValue;
}
}
//輸入
if (VARIABLE1.GetComponent<Tender_GUID>().ID == Convert.ToInt32(inputId))
{
if (VARIABLE1.GetComponent<InputField>() != null)
{
VARIABLE1.GetComponent<InputField>().text = Convert.ToString(inputValue);
VARIABLE1.GetComponent<InputField>().onEndEdit.Invoke("CheckZZS");
VARIABLE1.GetComponent<InputField>().onEndEdit.Invoke("WeightComper");
VARIABLE1.GetComponent<InputField>().onEndEdit.Invoke("updateData");
}
}
}
// if (o.Contains("[w]"))
// {
// var str = o.Replace("[w]", "");
// st.a = Convert.ToInt32(DoSplit1(str)[0]);
// st.b = Convert.ToInt32(DoSplit1(str)[1]);
// st.i = Convert.ToInt32(DoSplit1(str)[2]);
// st.j = Convert.ToInt32(DoSplit1(str)[3]);
// st.m = Convert.ToInt32(DoSplit1(str)[4]);
// st.n = Convert.ToInt32(DoSplit1(str)[5]);
// }
}
//記錄攝像機(jī)的移動
if (o.Contains("[p]"))
{
int li_index = 0;
int last_index = o.LastIndexOf("|");
string str = o.Substring(0, last_index);
str = str.Replace("[p]", "").Replace("(", "").Replace(")", "");
Camera.main.transform.localPosition = new Vector3(Convert.ToSingle(DoSplit1(str)[0]), Convert.ToSingle(DoSplit1(str)[1]), Convert.ToSingle(DoSplit1(str)[2]));
string str1 = o.Substring(last_index + 1);
str1 = str1.Replace("[r]", "").Replace("(", "").Replace(")", "");
Camera.main.transform.localRotation = Quaternion.Euler(Convert.ToSingle(DoSplit1(str1)[0]), Convert.ToSingle(DoSplit1(str1)[1]), Convert.ToSingle(DoSplit1(str1)[2]));
//putflag = true;
}
//記錄點擊單塔
if (o.Contains("[ST]"))
{
int li_index = 0;
int last_index = o.LastIndexOf("|");
string str = o.Substring(0, last_index);
str = str.Replace("[ST]", "").Replace("(", "").Replace(")", "");
RunScript._instance.taPrefab.transform.localPosition = new Vector3(Convert.ToSingle(DoSplit1(str)[0]), Convert.ToSingle(DoSplit1(str)[1]), Convert.ToSingle(DoSplit1(str)[2]));
string str1 = o.Substring(last_index + 1);
str1 = str1.Replace("[Sr]", "").Replace("(", "").Replace(")", "");
RunScript._instance.taPrefab.transform.transform.localRotation = Quaternion.Euler(Convert.ToSingle(DoSplit1(str1)[0]), Convert.ToSingle(DoSplit1(str1)[1]), Convert.ToSingle(DoSplit1(str1)[2]));
UIControl._instance.ShowTowerMiddle();
}
//記錄批量設(shè)置塔型
if (o.Contains("[PT]"))
{
int li_index = 0;
int last_index = o.LastIndexOf("|");
string str = o.Substring(0, last_index);
str = str.Replace("[PT]", "").Replace("(", "").Replace(")", "");
string str1 = o.Substring(last_index + 1);
str1 = str1.Replace("[S]", "").Replace("(", "").Replace(")", "");
if (str1 == "1")
{
RunScript._instance.PlTiShi.transform.FindChild("Text").GetComponent<Text>().text = "請點擊選擇截止點";
RunScript._instance.PLFirstTaPrefab = new Vector3(Convert.ToSingle(DoSplit1(str)[0]), Convert.ToSingle(DoSplit1(str)[1]), Convert.ToSingle(DoSplit1(str)[2]));
}
else if (str1 == "2")
{
RunScript._instance.PlTiShi.SetActive(false);
RunScript._instance.PlTiShi.transform.FindChild("Text").GetComponent<Text>().text = "請點擊選擇起始點";
RunScript._instance.PLSencondPrefab = new Vector3(Convert.ToSingle(DoSplit1(str)[0]), Convert.ToSingle(DoSplit1(str)[1]), Convert.ToSingle(DoSplit1(str)[2]));
UIControl._instance.PLShowTowerMiddle();
}
}
//點擊塔型出現(xiàn)桿塔配置
if (o.Contains("[D]"))
{
int li_index = 0;
int last_index = o.LastIndexOf("|");
string str = o.Substring(0, last_index);
str = str.Replace("[D]", "").Replace("(", "").Replace(")", "");
UIControl._instance.TowerClickCheck(int.Parse(str));
}
}
}
}
public string[] DoSplit(string str)
{
string[] sarray = str.Split(Convert.ToChar("|"));
return sarray;
}
public string[] DoSplit1(string str)
{
string[] sarray = str.Split(Convert.ToChar(","));
return sarray;
}
public void isRepalay()
{
//flag = true;
}
// #region 保存到文件
//
// public void SerializeObject(string filename)
// {
// FileStream fs = new FileStream(filename, FileMode.Create);
// BinaryFormatter serialize = new BinaryFormatter();
// serialize.Serialize(fs, ht);
// serialize.Serialize(fs, maxFrame);
// serialize.Serialize(fs, date);
// fs.Close();
// }
//
// #endregion
// public void reDeSerialize(string filename)
// {
// BinaryFormatter serialize = new BinaryFormatter();
// FileStream fs = new FileStream(filename, FileMode.Open);
// reht = (Hashtable)serialize.Deserialize(fs);
// reMaxFrame = (int)serialize.Deserialize(fs);
// Debug.Log(reMaxFrame.ToString());
// //時間
// reDate = (DateTime)serialize.Deserialize(fs);
// Debug.Log(reDate.ToString());
// fs.Close();
// }
// private void OnGUI()
// {
// if (GUI.Button(new Rect(100, 100, 30, 30), "保存"))
// {
// maxFrame = Time.frameCount;
// Debug.Log("CUN");
// SerializeObject(Application.dataPath+"http://Savedata.dat");
// //SaveToNet();
// }
// if (GUI.Button(new Rect(150, 100, 30,30 ), "回放"))
// {
// reDeSerialize(Application.dataPath+"http://Savedata.dat");
// flag=true;
// }
//
// }
}
TenderClickTrigger.cs
using System;
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class TenderClickTrigger : MonoBehaviour, IPointerClickHandler, IPointerUpHandler
{
void Update()
{
}
public void OnPointerClick(PointerEventData eventData)
{
if(UIControl._instance.IsPlayBack&&ReTenderPlay._instance.flag==false)
{
//某些button不需要觸發(fā)點擊事件
if (gameObject.GetComponent<Button>())
{
switch (gameObject.name)
{
case "MoNi_DW":
break;
case "MoNi_Reset":
break;
case "YL_Reset":
break;
case "YL_SubmitData":
break;
case "YL_Cancel":
break;
default:
ReTenderPlay.instance.Hd.Ht.Add(ReTenderPlay.instance.ZhenSum+"_" + ReTenderPlay.instance.zengliang++, "[b]" + gameObject.GetComponent<Tender_GUID>().ID);
break;
}
}
if (gameObject.GetComponent<Slider>())
{
ReTenderPlay.instance.Hd.Ht.Add(ReTenderPlay.instance.ZhenSum + "_" + ReTenderPlay.instance.zengliang++, "[s]" + gameObject.GetComponent<Tender_GUID>().ID + "|" + "[v]" + (int)gameObject.GetComponent<Slider>().value);
}
if (gameObject.GetComponent<Scrollbar>())
{
//Debug.Log("@#@#"+gameObject.GetComponent<Scrollbar>().value+"#@#$#$"+(float)gameObject.GetComponent<Scrollbar>().value);
ReTenderPlay.instance.Hd.Ht.Add(ReTenderPlay.instance.ZhenSum + "_" + ReTenderPlay.instance.zengliang++, "[S]" + gameObject.GetComponent<Tender_GUID>().ID+ "|" + "[V]" + (float)gameObject.GetComponent<Scrollbar>().value);
}
if(UIControl._instance.IsPlayBack&&ReTenderPlay._instance.flag==false&&UIControl._instance.isToogleType)
{
if (gameObject.GetComponent<Toggle>())
{
ReTenderPlay.instance.Hd.Ht.Add(ReTenderPlay.instance.ZhenSum + "_" + ReTenderPlay.instance.zengliang++, "[t]" + gameObject.GetComponent<Tender_GUID>().ID+ "|" + "[tv]" + (bool)gameObject.GetComponent<Toggle>().isOn);
}
}
}
}
public void OnPointerUp(PointerEventData eventData)
{
if(UIControl._instance.IsPlayBack&&ReTenderPlay._instance.flag==false)
{
if (gameObject.GetComponent<Slider>())
{
ReTenderPlay.instance.Hd.Ht.Add(ReTenderPlay.instance.ZhenSum + "_" + ReTenderPlay.instance.zengliang++, "[s]" + gameObject.GetComponent<Tender_GUID>().ID + "|" + "[v]" + (int)gameObject.GetComponent<Slider>().value);
}
if (gameObject.GetComponent<Scrollbar>())
{
ReTenderPlay.instance.Hd.Ht.Add(ReTenderPlay.instance.ZhenSum + "_" + ReTenderPlay.instance.zengliang++, "[S]" + gameObject.GetComponent<Tender_GUID>().ID + "|" + "[V]" + (float)gameObject.GetComponent<Scrollbar>().value);
}
}
}
}
cameraFlyYJJ.cs
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.EventSystems;
public class cameraFlyYJJ : MonoBehaviour
{
enum Axes { MouseXandY, MouseX, MouseY }
Axes Axis = Axes.MouseXandY;
[Tooltip("攝像機(jī)旋轉(zhuǎn)速度")]
public float sensitivityX = 15.0f; //旋轉(zhuǎn)速度
public float sensitivityY = 15.0f;
float minimumX = -360.0f;
float maximumX = 360.0f;
float minimumY = -150.0f;
float maximumY = 60.0f;
public float rotationX = 0.0f;
public float rotationY = 0.0f;
float traY = 0.0f;
float traX = 0.0f;
[Tooltip("中鍵移動速度")]
public float speed = 200.0f;
//public float traXSpeed = 250.0f; //按中建之后攝像機(jī)的移動速度
//public float traYSpeed = 100.0f; //按中建之后攝像機(jī)的移動速度
[Tooltip("方向鍵速度")]
public float tXSpeed = 1.0f; //方向鍵速度
public float tZSpeed = 1.0f;
public GameObject cameraReference;
[HideInInspector]
public TerrainData td;
[HideInInspector]
public Terrain ter;
Vector3 Pos;
public static cameraFlyYJJ _insance;
void Awake()
{
_insance = this;
}
void Update()
{
if (UIControl._instance.IsPlayBack && ReTenderPlay._instance.flag == false)
{
//當(dāng)攝像機(jī)的坐標(biāo)和旋轉(zhuǎn)發(fā)生改變時記錄
if (cameraReference.transform.localPosition != Pos)
{
ReTenderPlay.instance.Hd.Ht.Add(ReTenderPlay._instance.ZhenSum + "_" + ReTenderPlay.instance.zengliang++, "[p]" + cameraReference.transform.localPosition.ToString()
+ "|" + "[r]" + cameraReference.transform.localEulerAngles);
Pos = cameraReference.transform.localPosition;
}
}
if (EventSystem.current.IsPointerOverGameObject())
{
return;
}
traY = 0.0f;
traX = 0.0f;
if (Input.GetAxis("Mouse ScrollWheel") != 0)
{
float distance;
distance = Input.GetAxis("Mouse ScrollWheel") * speed;
float height = TerrainControl._instance.TaVector3(cameraReference.transform.localPosition);
Pos = cameraReference.transform.localPosition;
if (Pos.y <= height + 40)
{
if (distance < 0)
{
cameraReference.transform.localPosition += cameraReference.transform.localRotation * new Vector3(0, 0, distance * 0.5f);
}
}
else
{
cameraReference.transform.localPosition += cameraReference.transform.localRotation * new Vector3(0, 0, distance * 0.5f);
}
}
if (Input.GetMouseButton(1))
{
if (UIControl._instance.CameraRig != null)
{
UIControl._instance.CameraRig.isKinematic = false;
}
float translationZ = Input.GetAxis("Vertical");
cameraReference.transform.localPosition += cameraReference.transform.localRotation * new Vector3(0, 0, translationZ * 0.5f * tZSpeed);
float translationX = Input.GetAxis("Horizontal");
cameraReference.transform.localPosition += cameraReference.transform.localRotation * new Vector3(translationX * 0.5f * tXSpeed, 0, 0);
if (UIControl._instance.IsPlayBack && ReTenderPlay._instance.flag == false)
{
ReTenderPlay.instance.Hd.Ht.Add(ReTenderPlay._instance.ZhenSum + "_" + ReTenderPlay.instance.zengliang++, "[p]" + cameraReference.transform.localPosition.ToString()
+ "|" + "[r]" + cameraReference.transform.localEulerAngles);
}
}
if (Input.GetMouseButton(1))
{
if (Axis == Axes.MouseXandY)
{
rotationX += Input.GetAxis("Mouse X") * sensitivityX;
rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
Adjust360andClamp();
KeyLookAround();
KeyLookUp();
}
else if (Axis == Axes.MouseX)
{
rotationX += Input.GetAxis("Mouse X") * sensitivityX;
Adjust360andClamp();
KeyLookAround();
KeyLookUp();
}
else
{
rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
Adjust360andClamp();
KeyLookAround();
KeyLookUp();
}
if (UIControl._instance.IsPlayBack && ReTenderPlay._instance.flag == false)
{
ReTenderPlay.instance.Hd.Ht.Add(ReTenderPlay._instance.ZhenSum + "_" + ReTenderPlay.instance.zengliang++, "[p]" + cameraReference.transform.localPosition.ToString()
+ "|" + "[r]" + cameraReference.transform.localEulerAngles);
}
}
if (td != null)
{
float h = ter.SampleHeight(transform.position) + 1.8f;
if (transform.position.y < h)
{
transform.position = new Vector3(transform.position.x, h, transform.position.z);
}
}
}
void KeyLookAround()
{
Adjust360andClamp();
transform.localRotation = Quaternion.AngleAxis(rotationX, Vector3.up);
}
void KeyLookUp()
{
Adjust360andClamp();
transform.localRotation *= Quaternion.AngleAxis(rotationY, Vector3.left);
}
void Adjust360andClamp()
{
if (rotationX < -360)
{
rotationX += 360;
}
else if (rotationX > 360)
{
rotationX -= 360;
}
if (rotationY < -360)
{
rotationY += 360;
}
else if (rotationY > 360)
{
rotationY -= 360;
}
rotationX = Mathf.Clamp(rotationX, minimumX, maximumX);
rotationY = Mathf.Clamp(rotationY, minimumY, maximumY);
}
void Start()
{
Time.timeScale = 1.0f;
if (GetComponent<Rigidbody>())
{
GetComponent<Rigidbody>().freezeRotation = true;
}
if (ter != null)
{
td = ter.terrainData;
}
}
}
TenderInputAdlistener.cd
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class TenderInputAdlistener : MonoBehaviour {
void Start()
{
if(gameObject.GetComponent<InputField>()!=null)
{
gameObject.GetComponent<InputField>().onEndEdit.AddListener(delegate
{
if(UIControl._instance.IsPlayBack&&ReTenderPlay._instance.flag==false)
{
ReTenderPlay.instance.Hd.Ht.Add(ReTenderPlay._instance.ZhenSum + "_" + ReTenderPlay.instance.zengliang++, "[i]" + gameObject.GetComponent<Tender_GUID>().ID + "|" + "[n]" + gameObject.GetComponent<InputField>().text);
//Debug.Log("InputField="+ gameObject.GetInstanceID().ToString());
}
});
}
if(gameObject.GetComponent<Scrollbar>()!=null)
{
gameObject.GetComponent<Scrollbar>().onValueChanged.AddListener(delegate
{
if(UIControl._instance.IsPlayBack&&ReTenderPlay._instance.flag==false)
{
ReTenderPlay.instance.Hd.Ht.Add(ReTenderPlay._instance.ZhenSum + "_" + ReTenderPlay.instance.zengliang++, "[SC]" + gameObject.GetComponent<Tender_GUID>().ID + "|" + "[SV]" + (float) gameObject.GetComponent<Scrollbar>().value);
//Debug.Log("Scrollbar="+ gameObject.GetComponent<Scrollbar>().value.ToString());
}
});
}
if(gameObject.GetComponent<Dropdown>()!=null)
{
gameObject.GetComponent<Dropdown>().onValueChanged.AddListener(delegate
{
if(UIControl._instance.IsPlayBack&&ReTenderPlay._instance.flag==false)
{
ReTenderPlay.instance.Hd.Ht.Add(ReTenderPlay._instance.ZhenSum + "_" + ReTenderPlay.instance.zengliang++, "[DC]" + gameObject.GetComponent<Tender_GUID>().ID + "|" + "[DV]" + (int) gameObject.GetComponent<Dropdown>().value);
Debug.Log("Dropdown = "+gameObject.GetComponent<Dropdown>().value.ToString());
//Debug.Log("Scrollbar="+ gameObject.GetComponent<Scrollbar>().value.ToString());
}
});
}
}
}
proto生成:鏈接:http://pan.baidu.com/s/1slnP5Pr 密碼:a56f