public void SetContainerStatus(MsgEntryLocal me) { //cv_originContainer.TransformToTarget(me.pr); if (me.show_id.Equals(ContainerView.ContainerType.OriginContainer.ToString())) { cv_originContainer.TransformToTarget(me.pr); //Debug.Log("origin set to:"+me.pr[7]); } else { cv_selected.TransformToTarget(me.pr); //Debug.Log("selected moved"); } }
public void SetPlanetStatus(MsgEntryLocal me) { float[] data = me.pr; //Debug.Log("星球序号为:" + data[0] + ":" + (PlanetObject.PlanetType)(int)data[0]); //Debug.Log("切换动画开始时间为:" + data[1]); PlanetObject po = null; if (((int)data[0]) != (int)PlanetObject.PlanetType.NOTSELECTED) { //有星球被选择 po = planetMap[Enum.GetName(typeof(PlanetObject.PlanetType), (PlanetObject.PlanetType)data[0])]; } RefreshPlanetStatus(po, data[1]); }
public void DealMsgEntries(MsgEntryLocal[] messages, bool is_full) { if (is_full && connectToServer) { // 全场景同步! Debug.Log("全场景同步!roomInitTime:" + cm.roomInitTime); long timeCut = new DateTime(1970, 1, 1).Ticks; long timeNow = DateTime.UtcNow.Ticks; long universeTimeTicks = timeNow - timeCut - cm.roomInitTime; timeDelay = cm.GetSyncDelay() * 1.0f / 10000000; //Debug.Log("time delay:" + timeDelay); this.universeView.universeTime = timeDelay + universeTimeTicks * 1.0f / 10000000; } if (messages != null) { for (int i = 0; i < messages.Length; i++) { MsgEntryLocal msgEntry = messages[i]; switch (msgEntry.obj_type) { case PlanetObject.OBJECT_TYPE: { //如果是行星的情况 //Debug.Log("get planet"); //PlanetView pv = msg SetPlanetStatus(msgEntry); break; } case ContainerObject.OBJECT_TYPE: { //如果是行星容器的情况 //Debug.Log("get container"); SetContainerStatus(msgEntry); break; } } } } }
protected void DealMessage(SyncProto proto) { Google.Protobuf.Collections.RepeatedField <MsgEntry> messages = proto.SyncMsg.MsgEntry; if (messages == null) { return; } MsgEntryLocal[] messages_local = new MsgEntryLocal[messages.Count]; for (int i = 0; i < messages.Count; i++) { float[] Pr_message = new float[messages[i].Pr.Count]; for (int prI = 0; prI < messages[i].Pr.Count; prI++) { Pr_message[prI] = messages[i].Pr[prI]; } messages_local[i] = new MsgEntryLocal(messages[i].ShowId, messages[i].Info.ObjType, Pr_message); } DealMsgEntries(messages_local, proto.SyncMsg.IsFull); }