public static SynchedMissionObject ReadSynchedMissionObjectFromPacket( ref bool bufferReadValid) { MissionObject missionObject = GameNetworkMessage.ReadMissionObjectReferenceFromPacket(ref bufferReadValid); if (!bufferReadValid || missionObject == null) { return((SynchedMissionObject)null); } SynchedMissionObject synchedMissionObject = (SynchedMissionObject)missionObject; bufferReadValid = synchedMissionObject.ReadFromNetwork(); return(synchedMissionObject); }
protected internal override void OnInit() { this._flagHolder = this.GameEntity.CollectChildrenEntitiesWithTag("score_stand").SingleOrDefault <GameEntity>().GetScriptComponents <SynchedMissionObject>().SingleOrDefault <SynchedMissionObject>(); this._theFlag = this._flagHolder.GameEntity.CollectChildrenEntitiesWithTag("flag_white").SingleOrDefault <GameEntity>().GetScriptComponents <SynchedMissionObject>().SingleOrDefault <SynchedMissionObject>(); this._flagBottomBoundary = this.GameEntity.GetChildren().Single <GameEntity>((Func <GameEntity, bool>)(q => ((IEnumerable <string>)q.Tags).Contains <string>("flag_raising_bottom"))); this._flagTopBoundary = this.GameEntity.GetChildren().Single <GameEntity>((Func <GameEntity, bool>)(q => ((IEnumerable <string>)q.Tags).Contains <string>("flag_raising_top"))); if (GameNetwork.IsServerOrRecorder) { MatrixFrame globalFrame = this._flagTopBoundary.GetGlobalFrame(); this._flagHolder.SetGlobalFrameSynched(ref globalFrame); } this._flagDependentObjects = new List <SynchedMissionObject>(); foreach (GameEntity gameEntity in Mission.Current.Scene.FindEntitiesWithTag("depends_flag_" + (object)this.FlagIndex).ToList <GameEntity>()) { this._flagDependentObjects.Add(gameEntity.GetScriptComponents <SynchedMissionObject>().SingleOrDefault <SynchedMissionObject>()); } }
public void WriteSynchedMissionObjectToPacket(SynchedMissionObject value) { GameNetworkMessage.WriteMissionObjectReferenceToPacket((MissionObject)value); value?.WriteToNetwork(); }
public SynchronizeMissionObject(SynchedMissionObject missionObject) => this.MissionObject = missionObject;