internal void PromoteEngineObjectStatus(GameObjectStatus value) { if (value == GameObjectStatus.Pending) { throw new ArgumentOutOfRangeException(nameof(value), "Can not revert to pending status. Create a new object instead."); } this._engineObjectStatus = value; }
protected override GameObjectStatus OnCheckStatus() { GameObjectStatus gameObjectStatus = base.OnCheckStatus(); if (gameObjectStatus != GameObjectStatus.Ready) { return(gameObjectStatus); } return(GameObjectStatus.Ready); }
protected override GameObjectStatus OnCheckStatus() { GameObjectStatus gameObjectStatus = base.OnCheckStatus(); if (gameObjectStatus != GameObjectStatus.Ready) { return(gameObjectStatus); } if (this._objects.Any <IGameObject>((Func <IGameObject, bool>)(x => x.ObjectStatus == GameObjectStatus.Pending))) { return(GameObjectStatus.Pending); } if (!this._checkStatusBootstrapped) { this._checkStatusBootstrapped = true; ShipDummy.ShipDummyPart shipDummyPart = this._dummyParts.First <ShipDummy.ShipDummyPart>((Func <ShipDummy.ShipDummyPart, bool>)(x => { if (x.IsSection) { return(x.AttachedModel == null); } return(false); })); foreach (ShipDummy.ShipDummyPart dummyPart in this._dummyParts) { if (dummyPart != shipDummyPart) { if (dummyPart.IsSection) { dummyPart.Model.PostSetParent(dummyPart.AttachedModel, dummyPart.AttachedNodeName, dummyPart.AttachedNodeName); } else { dummyPart.Model.PostSetParent(dummyPart.AttachedModel, dummyPart.AttachedNodeName); } } } shipDummyPart.Model.PostSetParent((IGameObject)this.RigidBody); this.PostObjectAddObjects(((IEnumerable <IGameObject>) new IGameObject[1] { (IGameObject)this.RigidBody }).Concat <IGameObject>((IEnumerable <IGameObject>) this._dummyParts.Select <ShipDummy.ShipDummyPart, StaticModel>((Func <ShipDummy.ShipDummyPart, StaticModel>)(x => x.Model))).ToArray <IGameObject>()); this.RigidBody.PostSetAggregate((IGameObject)this); List <StaticModel> list = this._dummyParts.Where <ShipDummy.ShipDummyPart>((Func <ShipDummy.ShipDummyPart, bool>)(x => x.IsSection)).Select <ShipDummy.ShipDummyPart, StaticModel>((Func <ShipDummy.ShipDummyPart, StaticModel>)(y => y.Model)).ToList <StaticModel>(); List <object> objectList = new List <object>(); objectList.Add((object)list.Count); foreach (StaticModel staticModel in list) { objectList.Add((object)staticModel.ObjectID); } this.PostSetProp("CreateBoundingBox", objectList.ToArray()); this.PostSetProp("Activate"); } return(GameObjectStatus.Ready); }
protected override GameObjectStatus OnCheckStatus() { GameObjectStatus gameObjectStatus = base.OnCheckStatus(); if (gameObjectStatus != GameObjectStatus.Ready) { return(gameObjectStatus); } this.PostSetActive(true); return(GameObjectStatus.Ready); }
public GameObjectStatus CheckStatus() { foreach (IGameObject gameObject in this._pending) { GameObjectStatus objectStatus = gameObject.ObjectStatus; if (objectStatus != GameObjectStatus.Ready) { return(objectStatus); } } return(GameObjectStatus.Ready); }
public void OnObjectStatus(int objectID, GameObjectStatus objectStatus) { IGameObject gameObject; if (!this._pending.TryGetValue(objectID, out gameObject)) { return; } (gameObject as GameObject).PromoteEngineObjectStatus(objectStatus); if (objectStatus == GameObjectStatus.Pending) { return; } this._pending.Remove(objectID); }
public GameObjectStatusChangedEventArg(GameObjectStatus newStatus, GameObject obj) { Status = newStatus; GameObject = obj; }