private void CreatePortal(IEntityDataStruct entityDataStruct) { var sMsgPropCreateEntity_SC_Channel = (SMsgPropCreateEntity_SC_Channel)entityDataStruct; string portalName = "chuansongdian"; var portalPrefab = this.FindByName(portalName); var pos = Vector3.zero; TraceUtil.Log("传送门的生成UID" + sMsgPropCreateEntity_SC_Channel.SMsg_Header.uidEntity + " -- responseOn:" + GameManager.Instance.ResponseHandlerOn.ToString()); sMsgPropCreateEntity_SC_Channel.ChannelValue.MAST_FIELD_VISIBLE_TYPE = EctypeConfigManager.Instance.PortalConfigList[sMsgPropCreateEntity_SC_Channel.BaseValue.OBJECT_FIELD_ENTRY_ID]._portalType; pos = pos.GetFromServer(sMsgPropCreateEntity_SC_Channel.ChannelX, sMsgPropCreateEntity_SC_Channel.ChannelY); var portal = (GameObject)GameObject.Instantiate(portalPrefab, pos, Quaternion.identity); var portalBehaviour = portal.GetComponent <PortalBehaviour>(); //加入箭头挂载脚本 if (ArrowManager.Instance == null) { TraceUtil.Log(SystemModel.Common, TraceLevel.Error, "[ArrowManager.Instance == null]"); } else { ArrowManager.Instance.AddChunnelArrow(portal); } portalBehaviour.PortalDataModel = sMsgPropCreateEntity_SC_Channel; bool Active = sMsgPropCreateEntity_SC_Channel.ChannelValue.MAST_FIELD_VISIBLE_STATE == 0 ? true : false; if (portal.activeSelf != Active) { portal.SetActive(Active); } EntityModel portalDataModel = new EntityModel(); portalDataModel.GO = portal; portalDataModel.Behaviour = portalBehaviour; portalDataModel.EntityDataStruct = sMsgPropCreateEntity_SC_Channel; PortalManager.GetInstance(); EntityController.Instance.RegisteEntity(entityDataStruct.SMsg_Header.uidEntity, portalDataModel); //if (!AddPortalObjToList(portalDataModel)) { TraceUtil.Log(SystemModel.Common,TraceLevel.Error,"传送门列表已满:PortalFactory.PortalFactoryObjcetList"); } }