private void setAfkProp(PropDefinition propDefinition) { if (propDefinition == null) { } DHeldObject dHeldObject = new DHeldObject(); switch (propDefinition.PropType) { case PropDefinition.PropTypes.Consumable: dHeldObject.ObjectType = HeldObjectType.CONSUMABLE; break; case PropDefinition.PropTypes.Durable: dHeldObject.ObjectType = HeldObjectType.DURABLE; break; case PropDefinition.PropTypes.InteractiveObject: dHeldObject.ObjectType = HeldObjectType.DISPENSABLE; break; case PropDefinition.PropTypes.PartyGame: dHeldObject.ObjectType = HeldObjectType.PARTYGAME; break; } dHeldObject.ObjectId = propDefinition.NameOnServer; if (AvatarDataHandle.TryGetPlayerHandle(base.gameObject, out var handle)) { dataEntityCollection.GetComponent <HeldObjectsData>(handle).HeldObject = dHeldObject; isUsingAFKProp = true; } }
private void clearAfkProp() { if (AvatarDataHandle.TryGetPlayerHandle(base.gameObject, out var handle)) { if (presenceData.AFKState.EquippedObject != null) { DHeldObject dHeldObject = new DHeldObject(); dHeldObject.ObjectId = presenceData.AFKState.EquippedObject.EquippedObjectId; if (presenceData.AFKState.EquippedObject.IsConsumable()) { dHeldObject.ObjectType = HeldObjectType.CONSUMABLE; } else if (presenceData.AFKState.EquippedObject.IsDurable()) { dHeldObject.ObjectType = HeldObjectType.DURABLE; } else if (presenceData.AFKState.EquippedObject.IsDispensable()) { dHeldObject.ObjectType = HeldObjectType.DISPENSABLE; } else if (presenceData.AFKState.EquippedObject.isPartyGame()) { dHeldObject.ObjectType = HeldObjectType.PARTYGAME; } dataEntityCollection.GetComponent <HeldObjectsData>(handle).HeldObject = dHeldObject; } else { dataEntityCollection.GetComponent <HeldObjectsData>(handle).HeldObject = null; } } isUsingAFKProp = false; }
private void changedHeldObject(DHeldObject obj) { if (this.PlayerHeldObjectChanged != null) { this.PlayerHeldObjectChanged(obj); } }
private bool onHeldObjectEquipped(long sessionId, string objectId, HeldObjectType type) { if (isLocalPlayer(sessionId) && type != HeldObjectType.PARTYGAME) { return(false); } DataEntityHandle dataEntityHandle = dataEntityCollection.FindEntity <SessionIdData, long>(sessionId); if (!dataEntityHandle.IsNull && dataEntityCollection.HasComponent <HeldObjectsData>(dataEntityHandle)) { DHeldObject dHeldObject = new DHeldObject(); dHeldObject.ObjectId = objectId; dHeldObject.ObjectType = type; dataEntityCollection.GetComponent <HeldObjectsData>(dataEntityHandle).HeldObject = dHeldObject; } return(false); }