public void Init(int index) { if (useIDInput && IDInput == null) { IDInput = inputKnobs[0]; } killCount = 0; Entity.OnEntityDeath += updateState; if (!nameMode && passIfEntityDoesNotExist && !AIData.entities.Exists(e => e.ID == targetID)) { state = ConditionState.Completed; output.connection(0).body.Calculate(); return; } state = ConditionState.Listening; if (useIDInput) { if (IDInput.connected()) { targetID = (IDInput.connections[0].body as SpawnEntityNode).entityID; } else { Debug.LogWarning("Name Input not connected!"); } } }
public override int Traverse() { // Pop the pending text if (outputUp.connected()) { if (outputUp.connection(0).body is StartTaskNode taskNode && !string.IsNullOrEmpty(taskNode.entityIDforConfirmedResponse)) { var stack = TaskManager.interactionOverrides[taskNode.entityIDforConfirmedResponse]; if (stack.Count > 0) { TaskManager.interactionOverrides[taskNode.entityIDforConfirmedResponse].Pop(); } } } SectorManager.instance.player.alerter.showMessage("TASK FAILED", "clip_fail"); if (outputUp.connected()) { if (outputUp.connection(0).body is StartTaskNode taskNode) { taskNode.forceTask = false; // you shouldn't force tasks you can fail string taskID = taskNode.taskID; TaskManager.Instance.endTask(taskID); } } return(0); }
void VariableUpdate(string variable) { if (variableName == variable) { int i = TaskManager.Instance.GetTaskVariable(variableName); switch (mode) { case 0: if (i == value) { state = ConditionState.Completed; outputRight.connection(0).body.Calculate(); } break; case 1: if (i > value) { state = ConditionState.Completed; outputRight.connection(0).body.Calculate(); } break; case 2: if (i < value) { state = ConditionState.Completed; outputRight.connection(0).body.Calculate(); } break; } } }
public override AINode GetTreeNode() { Decorator output = base.GetTreeNode() as Decorator; if (child.connected()) { EditorAINode node = child.connection(0).body as EditorAINode; output.subNode = node.GetTreeNode(); } return(output); }
void SiegeWin(string sector) { if (sector == sectorName) { state = ConditionState.Completed; output.connection(0).body.Calculate(); } }
public void Init(int index) { for (int i = 0; i < PlayerCore.Instance.cursave.missions.Count; i++) { //Debug.Log("Mission: " + PlayerCore.Instance.cursave.missions[i].name + ", status: " + PlayerCore.Instance.cursave.missions[i].status); if (PlayerCore.Instance.cursave.missions[i].name == missionName && PlayerCore.Instance.cursave.missions[i].status == (Mission.MissionStatus)missionStatus) { state = ConditionState.Completed; output.connection(0).body.Calculate(); return; } } OnMissionStatusChange += MissionStatus; state = ConditionState.Listening; }
void SectorLoaded(string sector) { if (sector == sectorName) { Debug.Log("Completimegousdrhndrtouhnt!"); state = ConditionState.Completed; output.connection(0).body.Calculate(); } }
//void SetEntityID(string SelectedID) //{ // entityID = SelectedID; // WorldCreatorCursor.selectEntity -= SetEntityID; //} public override int Traverse() { if (IDIn.connected()) { if (IDIn.connection(0).body is SpawnEntityNode) { string ID = (IDIn.connection(0).body as SpawnEntityNode).entityID; } } foreach (var data in AIData.entities) { if (data.ID == entityID) { Destroy(data.gameObject); return(0); } } return(0); }
public void OnDialogue() { // draw objectives if (TaskManager.objectiveLocations[(Canvas as QuestCanvas).missionName].Contains(objectiveLocation)) { TaskManager.objectiveLocations[(Canvas as QuestCanvas).missionName].Remove(objectiveLocation); } TaskManager.DrawObjectiveLocations(); DialogueSystem.ShowFinishTaskNode(this, SectorManager.instance.GetEntity(rewardGiverID)); //DialogueSystem.ShowPopup(rewardText, textColor, ); DialogueSystem.OnDialogueEnd = OnClick; DialogueSystem.OnDialogueCancel = OnCancel; if (outputUp.connected()) { var taskNode = (outputUp.connection(0).body as StartTaskNode); if (taskNode) { string taskID = taskNode.taskID; TaskManager.Instance.endTask(taskID); Debug.Log("Task complete!"); SectorManager.instance.player.AddCredits(taskNode.creditReward); SectorManager.instance.player.reputation += taskNode.reputationReward; SectorManager.instance.player.shards += taskNode.shardReward; if (taskNode.partReward) { SectorManager.instance.player.cursave.partInventory.Add( new EntityBlueprint.PartInfo { partID = taskNode.partID, abilityID = taskNode.partAbilityID, tier = taskNode.partTier, secondaryData = taskNode.partSecondaryData }); } } } }
private void RewardPlayer() { if (outputUp.connection(0).body is StartTaskNode taskNode) { string taskID = taskNode.taskID; TaskManager.Instance.endTask(taskID); Debug.Log("Task complete!"); SectorManager.instance.player.AddCredits(taskNode.creditReward); SectorManager.instance.player.reputation += taskNode.reputationReward; SectorManager.instance.player.shards += taskNode.shardReward; if (taskNode.partReward) { SectorManager.instance.player.cursave.partInventory.Add( new EntityBlueprint.PartInfo { partID = taskNode.partID, abilityID = taskNode.partAbilityID, tier = taskNode.partTier, secondaryData = taskNode.partSecondaryData }); } } }
public void OnCancel() { DialogueSystem.OnDialogueCancel -= OnCancel; DialogueSystem.OnDialogueEnd -= OnClick; if (customDialogueSpeed) { DialogueSystem.Instance.timeBetweenCharacters = oldSpeed; } if (cancel.connected()) { IDialogueOverrideHandler handler = null; if (state != NodeEditorGUI.NodeEditorState.Dialogue) { handler = TaskManager.Instance; } else { handler = DialogueSystem.Instance; } var node = state != NodeEditorGUI.NodeEditorState.Dialogue ? StartDialogueNode.missionCanvasNode : StartDialogueNode.dialogueCanvasNode; Debug.Log(node?.EntityID + " " + StartDialogueNode.missionCanvasNode?.EntityID); if (node && !string.IsNullOrEmpty(node.EntityID)) { handler.GetInteractionOverrides()[node.EntityID].Pop(); // DialogueSystem.Instance.DialogueViewTransitionOut(); if (node == StartDialogueNode.missionCanvasNode) { StartDialogueNode.missionCanvasNode = null; } else { StartDialogueNode.dialogueCanvasNode = null; } } TaskManager.Instance.setNode(cancel.connection(0)); } }
void updateState(Entity entity, Entity _) { if (((!nameMode && entity.ID == targetID) || (nameMode && (entity.entityName == targetID || entity.name == targetID))) && entity.faction == targetFaction) { killCount++; if (targetFaction != 0) { SectorManager.instance.player.alerter.showMessage("ENEMIES DESTROYED: " + killCount + " / " + targetCount, "clip_victory"); } else { SectorManager.instance.player.alerter.showMessage("ALLIES DEAD: " + killCount + " / " + targetCount, "clip_alert"); } if (killCount == targetCount) { state = ConditionState.Completed; output.connection(0).body.Calculate(); } } }
public override AINode GetTreeNode() { return(((EditorAINode)(child.connection(0).body)).GetTreeNode()); }