public override int Use() { int used = base.Use(); if (used < 0) { return(used); // Item cannot be used } var extenderCollection = GetExtenderCollection(); if (extenderCollection == null) { DevdogLogger.LogWarning("Can't use bag, no collection found with interface " + typeof(ICollectionExtender)); return(-2); } bool added = extenderCollection.extenderCollection.AddItemAndRemove(this); if (added) { return(1); } return(-2); }
protected virtual void HandleSkinnedMeshes(EquippableInventoryItem copy, CharacterEquipmentTypeBinder binder) { if (binder.equipTransform == null) { return; } if (replaceSkinnedMeshBones) { var itemSkinned = copy.GetComponentInChildren <SkinnedMeshRenderer>(); if (itemSkinned != null) { // It's a skinned mesh, combine the bones of this mesh with the player's bones to sync animations. var playerSkinned = binder.equipTransform.GetComponentInParent <SkinnedMeshRenderer>(); if (playerSkinned != null) { itemSkinned.rootBone = binder.rootBone; if (forceReplaceAllBones) { itemSkinned.bones = playerSkinned.bones; DevdogLogger.LogVerbose("Force copied " + itemSkinned.bones.Length + " bones to new skinned mesh", itemSkinned); } else { ReplaceBonesOnTarget(playerSkinned, itemSkinned); } } else { DevdogLogger.LogWarning("Tried to equip skinned item to player, but no skinned mesh renderer found in equip position's parent.", binder.equipTransform); } } } }
public virtual void InitSightTrigger() { _sightTrigger = GetComponentInChildren <SphereCollider>(); if (_sightTrigger == null) { var obj = new GameObject("_Col"); obj.transform.SetParent(transform, false); _sightTrigger = obj.AddComponent <SphereCollider>(); } _sightTrigger.isTrigger = true; _sightTrigger.radius = config.viewingDistance; _sightTrigger.GetOrAddComponent <ObserverTriggerHelperBehaviour>(); var r = _sightTrigger.GetOrAddComponent <Rigidbody>(); r.useGravity = false; r.isKinematic = true; if (LosManager.instance.settings != null) { _sightTrigger.gameObject.layer = LosManager.instance.settings.sightLayerID; } else { DevdogLogger.LogWarning("Settings database not set on LosManager"); } }
public static void SetLanguage(string lang) { _currentDatabase = FindLocalizationDatabaseByName(lang); if (_currentDatabase == null) { DevdogLogger.LogWarning("Couldn't find localization database with language identifier \"" + lang + "\""); } }
protected virtual void OnAchievementTaskProgressChanged(float taskProgressBefore, Task task, Achievement achievement) { if (uiElements.ContainsKey(achievement)) { uiElements[achievement].Repaint(taskProgressBefore, task, achievement); } else { DevdogLogger.LogWarning("Couldn't repaint UI element for achievement " + achievement.ID + " - Not found in dict UI lookup."); } }
public void GiveRewards(Quest quest) { var col = ItemCollectionBase.FindByName(collectionName); if (col == null) { DevdogLogger.LogWarning("Collection with name " + collectionName + " not found."); return; } col.AddSlots(extraSlots); }
public bool NotifyItemUnEquipped() { var extenderCollection = GetExtenderCollection(); if (extenderCollection == null) { DevdogLogger.LogWarning("Can't unequip bag, no inventory found with extender collection"); return(false); } return(extenderCollection.extendingCollection.RemoveSlots(extendBySlots)); }
protected virtual Sprite GetIcon(ITriggerInputHandler inputHandler) { var binding = keyIconBindings.FirstOrDefault(o => o.keyCode.ToString() == inputHandler.ToString()); if (binding == null) { DevdogLogger.LogWarning("Couldn't find binding for keycode : " + inputHandler.ToString(), this); return(null); } return(binding.sprite); }
public override void OnExecute(IDialogueOwner dialogueOwner) { if (camera == null) { DevdogLogger.LogWarning("The player's camera is not defined. Can't set position"); Finish(true); return; } camera.SetCameraPosition(position); Finish(true); }
protected ILocalIdentifier GetLocalIdentifierFromNetworkIdentity(NetworkIdentity identity) { foreach (var q in questStates) { if (q.Key.ID == identity.playerControllerId.ToString()) // TODO: Not a valid ID comparison { return(q.Key); } } DevdogLogger.LogWarning("Local identifier not found for identity with controller ID: " + identity.playerControllerId); return(null); }
public void GiveRewards(Quest quest) { var p = statDecorator.stat; var stat = currentPlayer.stats.Get(p.category, p.name); if (stat == null) { DevdogLogger.LogWarning("Stat with ID " + p.ID + " not found."); return; } currentPlayer.stats.Set(statDecorator); }
public void GiveRewards(Quest quest) { var task = quest.GetTask(taskName); if (task == null) { DevdogLogger.LogWarning("Task " + taskName + " not found on quest " + quest); return; } task.timeLimitInSeconds += addTimeInSeconds; DevdogLogger.LogVerbose("Gave task " + taskName + " " + addTimeInSeconds + " extra seconds (rewardGiver)"); }
public static Variable Get(Guid g) { DevdogLogger.LogVerbose("Getting variable with GUID: " + g + " Looking through " + variableContainers.Count + " containers."); foreach (var container in variableContainers) { var v = container.Get(g); if (v != null) { return(v); } } DevdogLogger.LogWarning("Trying to get variable with GUID " + g + " - Not found."); return(null); }
void InventoryPlayerPickedUpItem(int ufpsItemID, int ufpsPlayerID, Vector3 itemPosition, Quaternion itemRotation, PhotonMessageInfo info) { List <vp_ItemPickup> pickups; if (!vp_MPPickupManager.Instance.Pickups.TryGetValue(ufpsItemID, out pickups)) { DevdogLogger.LogWarning("No local copy of ufps item with ID: " + ufpsItemID + " found, ignoring call"); return; } if (pickups.Count > 0 && pickups[0] != null && pickups[0].gameObject != null) { vp_Utility.Activate(pickups[0].gameObject, false); } DevdogLogger.LogVerbose("Client looted item with UFPS ID: " + ufpsItemID); vp_MPNetworkPlayer player; if (!vp_MPNetworkPlayer.PlayersByID.TryGetValue(ufpsPlayerID, out player)) { DevdogLogger.LogWarning("Player with playerID : " + ufpsPlayerID + " not found"); return; } if (player == null) { return; } if (player.Collider == null) { return; } foreach (vp_ItemPickup p in pickups) { var a = p as ItemTriggerUFPS; if (a == null) { continue; } a.TryGiveToPlayer(player.Collider, p.Amount, false); Debug.Log("---- Giving UFPS item to player - ItemID: " + a.ID); } }
private void InventoryDroppedObject(int itemID, int ufpsItemID, int amount, Vector3 position, Quaternion rotation, PhotonMessageInfo info) { DevdogLogger.LogVerbose("Player dropped item with ID: " + itemID, info.photonView); List <vp_ItemPickup> pickups; if (!vp_MPPickupManager.Instance.Pickups.TryGetValue(ufpsItemID, out pickups)) { DevdogLogger.LogWarning("Player dropped object but no local copy was found: UFPS ID: " + ufpsItemID + " - ItemID: " + itemID); return; } if (pickups[0].gameObject != null) { var item = pickups[0].gameObject.GetComponent <UFPSInventoryItemBase>(); if (item == null) { Debug.LogWarning("Non UFPS Item was dropped??", pickups[0].gameObject); return; } item.transform.SetParent(null); item.transform.position = position; item.transform.rotation = rotation; item.gameObject.SetActive(true); if (item is EquippableUFPSInventoryItem) { ((EquippableUFPSInventoryItem)item).currentClipCount = (uint)amount; } else if (item is UnitTypeUFPSInventoryItem) { ((UnitTypeUFPSInventoryItem)item).unitAmount = (uint)amount; } var trigger = item.gameObject.GetComponent <ItemTriggerUFPS>(); if (trigger != null) { trigger.ID = ufpsItemID; trigger.Amount = amount; } DevdogLogger.LogVerbose("Client dropped item #" + item.ID + " (" + item.name + ") with " + amount + " bullets (UFPSID: " + ufpsItemID + ")", item); } }
public virtual void CraftCurrentlySelectedBlueprint(int amount) { if (progressContainer.isCrafting) { // TODO: Have to remove for QUEUE // Cancel queue item? progressContainer.CancelActiveCraftAndClearQueue(); return; } if (currentBlueprint == null) { DevdogLogger.LogWarning("No blueprint selected, can't craft.", this); return; } progressContainer.AddBlueprintToCraftingQueue(PlayerManager.instance.currentPlayer.inventoryPlayer, currentCategory, currentBlueprint, amount, storeRewardItemsInCollection, removeItemsFromCollection); }
public static string GetSaveFolderForFolderName(string name) { if (isPrefabsSaveFolderSet == false) { DevdogLogger.LogWarning("Trying to grab folder for: " + name + " but no prefab folder is set."); return(string.Empty); } var saveFolder = prefabsSaveFolder + "/" + name; if (AssetDatabase.IsValidFolder(saveFolder) == false) { CreateFolderIfDoesNotExistAlready(prefabsSaveFolder, name); DevdogLogger.LogVerbose("Trying to grab folder for " + name + " but could not be found. Creating one..."); } return(saveFolder); }
public bool CanUnEquip() { var extenderCollection = GetExtenderCollection(); if (extenderCollection == null) { DevdogLogger.LogWarning("Can't unequip bag, no inventory found with extender collection"); return(false); } var slot = extenderCollection.extendingCollection.FindFirstEmptySlot(this); if (slot == -1) { return(false); } return(CanUnEquip(extenderCollection.extendingCollection, (uint)slot)); }
public override bool CanUse(Dialogue.Dialogue dialogue) { var currentAffinity = QuestSystemLoveHateBridgeManager.factionManager.GetAffinity(judgeFactionName, subjectFactionName); switch (filterType) { case FilterType.HigherThanOrEqual: return(currentAffinity >= affinity); case FilterType.LowerThanOrEqual: return(currentAffinity <= affinity); default: { DevdogLogger.LogWarning("Filter type of " + filterType + " not found, please report this error + Stack trace."); return(false); } } }
public void UseWaypointGroup(WaypointGroup group, bool startAtClosestWaypoint) { if (startAtClosestWaypoint) { var info = group.FindClosestWaypoint(transform.position); if (info.waypoint != null) { UseWaypointGroup(group, info.index); } else { DevdogLogger.LogWarning("Couldn't find closest waypoint in waypointGroup", this); } } else { UseWaypointGroup(group, 0); } }
private void LootableOnOnLootedItem(InventoryItemBase item, uint itemId, uint slot, uint amount) { DevdogLogger.LogVerbose("[Client] LootableObject - Item got removed from LootableObject", this); photonView.RPC("LootableObjectItemRemoved", PhotonTargets.OthersBuffered, (int)slot); vp_MPNetworkPlayer player; if (!vp_MPNetworkPlayer.Players.TryGetValue(PlayerManager.instance.currentPlayer.transform, out player)) { DevdogLogger.LogWarning("Player could not be found..."); return; } var ufpsItem = item as UFPSInventoryItemBase; if (ufpsItem != null) { InventoryMPUFPSPickupManager.instance.photonView.RPC("InventoryPlayerPickedUpItem", PhotonTargets.Others, ufpsItem.itemPickup.ID, player.ID, transform.position, transform.rotation); } }
public void NotifyItemEquipped() { NotifyItemUsed(1, false); var extenderCollection = GetExtenderCollection(); if (extenderCollection == null) { DevdogLogger.LogWarning("Can't use bag, no inventory found with extender collection"); return; } // Used from some collection, equip bool added = extenderCollection.extendingCollection.AddSlots(extendBySlots); if (added) { AudioManager.AudioPlayOneShot(playOnEquip); } }
public virtual void InitSightTrigger() { _sightTrigger = GetOrCreateSightTrigger(); _sightTrigger.isTrigger = true; _sightTrigger.radius = config.viewingDistance; _sightTrigger.GetOrAddComponent <ObserverTriggerHelperBehaviour>(); var r = _sightTrigger.GetOrAddComponent <Rigidbody>(); r.useGravity = false; r.isKinematic = true; if (LosManager.instance.settings != null) { _sightTrigger.gameObject.layer = LosManager.instance.settings.sightLayerID; } else { DevdogLogger.LogWarning("Settings database not set on LosManager"); } }
protected virtual void OnCurrentDialogueNodeChanged(NodeBase before, NodeBase after) { if (currentNodeUI != null) { Destroy(currentNodeUI.gameObject); } if (after.uiPrefab == null) { DevdogLogger.LogWarning("No prefab found for node. Make sure to assign your UI prefabs to the manager", this); return; } if (after.ownerType != DialogueOwnerType.DialogueOwner) { SetDialogueSpeakerIcon(hideDialogueOwnerIconOnPlayerNode ? null : QuestManager.instance.settingsDatabase.playerDialogueIcon); if (dialogueOwnerName != null) { dialogueOwnerName.text = (hideDialogueOwnerNameOnPlayerNode ? string.Empty : QuestManager.instance.settingsDatabase.playerName); } } else { var owner = DialogueManager.instance.currentDialogueOwner; if (owner != null) { SetDialogueSpeakerIcon(owner.ownerIcon); if (dialogueOwnerName != null) { dialogueOwnerName.text = owner.ownerName; } } } currentNodeUI = UnityEngine.Object.Instantiate <NodeUIBase>(after.uiPrefab); currentNodeUI.transform.SetParent(nodeUIContainer); UIUtility.ResetTransform(currentNodeUI.transform); UIUtility.InheritParentSize(currentNodeUI.transform); currentNodeUI.Repaint(after); }
public override void OnExecute(IDialogueOwner dialogueOwner) { if (DialogueManager.instance.currentDialogueOwner != null) { var fsm = DialogueManager.instance.currentDialogueOwner.transform.GetComponent <PlayMakerFSM>(); if (fsm != null) { fsm.SendEvent(eventName); } else { DevdogLogger.LogWarning("No FSM found on dialogue owner. Event not invoked."); } } else { DevdogLogger.LogWarning("Dialogue not opened through a dialogue owner. No object is set and no FSM can therefore be found."); } Finish(true); }
public bool CanUnEquip(ItemCollectionBase toCollection, uint toIndex) { var extenderCollection = GetExtenderCollection(); if (extenderCollection == null) { DevdogLogger.LogWarning("Can't unequip bag, no inventory found with extender collection"); return(false); } // If the item is placed inside the slots it's supposed to rmove it should fail... var clearSlots = extendBySlots + layoutSize; var c = extenderCollection.extendingCollection; if (toIndex > toCollection.items.Length - clearSlots) { return(false); } return(c.CanRemoveSlots(clearSlots)); }
public static List <DrawerBase> BuildEditorHierarchy(Type type, object value) { var oldMode = GCSettings.LatencyMode; try { GCSettings.LatencyMode = GCLatencyMode.LowLatency; var l = new List <DrawerBase>(); List <FieldInfo> fields = new List <FieldInfo>(); if (_serializableFieldsCache.ContainsKey(type)) { fields = _serializableFieldsCache[type]; } else { ReflectionUtility.GetAllSerializableFieldsInherited(type, fields); _serializableFieldsCache[type] = fields; } foreach (var field in fields) { var drawer = BuildEditorHierarchy(field, value); if (drawer != null) { l.Add(drawer); } else { DevdogLogger.LogWarning("Couldn't create drawer for serializable type: " + field.FieldType); } } return(l); } finally { GCSettings.LatencyMode = oldMode; } }
private ConditionInfo HasAffinity(QuestStatusAction currentAction) { if (currentAction != status) { // Not the status we're testing, this condition doesn't apply, always accept. return(ConditionInfo.success); } var currentAffinity = QuestSystemLoveHateBridgeManager.factionManager.GetAffinity(judgeFactionName, subjectFactionName); switch (filterType) { case FilterType.HigherThanOrEqual: { if (currentAffinity >= affinity) { return(ConditionInfo.success); } return(new ConditionInfo(false, new MultiLangString("", string.Format(affinityToLowString.message, currentAffinity, affinity)))); } case FilterType.LowerThanOrEqual: { if (currentAffinity <= affinity) { return(ConditionInfo.success); } return(new ConditionInfo(false, new MultiLangString("", string.Format(affinityToHighString.message, currentAffinity, affinity)))); } default: { DevdogLogger.LogWarning("Filter type of " + filterType + " not found, please report this error + Stack trace."); return(new ConditionInfo(false)); } } }
private ICollectionExtender GetExtenderCollection() { var player = PlayerManager.instance.currentPlayer; if (player == null) { DevdogLogger.LogWarning("No current player, can't get collections."); return(null); } var collectionExtenders = FindObjectsOfType <ItemCollectionBase>(); var interfaces = collectionExtenders.OfType <ICollectionExtender>(); foreach (var i in interfaces) { if (player.inventoryPlayer.inventoryCollections.Contains(i.extendingCollection)) { return(i); } } return(null); }
public void TriggerUse() { DevdogLogger.LogWarning("Trigger actions can't be used on data wrapper."); }