protected void PlayStartCutscene() { KickStarter.stateHandler.PlayGlobalOnStart(); KickStarter.eventManager.Call_OnStartScene(); switch (actionListSource) { case ActionListSource.InScene: if (cutsceneOnStart) { cutsceneOnStart.Interact(); } break; case ActionListSource.AssetFile: if (actionListAssetOnStart) { actionListAssetOnStart.Interact(); } break; default: break; } }
/** * <summary>Creates and displays the correct InvItem, based on the current Recipe, provided craftingType = CraftingElementType.Output.</summary> */ public void SetOutput() { if (craftingType != CraftingElementType.Output) { return; } invInstances = new List <InvInstance>(); activeRecipe = KickStarter.runtimeInventory.CalculateRecipe(); if (activeRecipe != null) { AdvGame.RunActionListAsset(activeRecipe.actionListOnCreate); foreach (InvItem assetItem in AdvGame.GetReferences().inventoryManager.items) { if (assetItem.id == activeRecipe.resultID) { invInstances.Add(new InvInstance(assetItem, 1)); } } KickStarter.eventManager.Call_OnCraftingSucceed(activeRecipe); } else { if (!autoCreate && actionListOnWrongIngredients) { actionListOnWrongIngredients.Interact(); } } }
protected void RunInteraction(bool onMove) { int parameterID = (onMove) ? moveParameterID : dropParameterID; switch (actionListSource) { case ActionListSource.InScene: Interaction interaction = (onMove) ? interactionOnMove : interactionOnDrop; if (interaction != null && gameObject.layer != LayerMask.NameToLayer(KickStarter.settingsManager.deactivatedLayer)) { if (!onMove || !KickStarter.actionListManager.IsListRunning(interaction)) { if (parameterID >= 0) { ActionParameter parameter = interaction.GetParameter(parameterID); if (parameter != null && parameter.parameterType == ParameterType.GameObject) { parameter.gameObject = gameObject; } } interaction.Interact(); } } break; case ActionListSource.AssetFile: ActionListAsset actionListAsset = (onMove) ? actionListAssetOnMove : actionListAssetOnDrop; if (actionListAsset != null && gameObject.layer != LayerMask.NameToLayer(KickStarter.settingsManager.deactivatedLayer)) { if (!onMove || !KickStarter.actionListAssetManager.IsListRunning(actionListAsset)) { if (parameterID >= 0) { ActionParameter parameter = actionListAsset.GetParameter(parameterID); if (parameter != null && parameter.parameterType == ParameterType.GameObject) { parameter.gameObject = gameObject; if (GetComponent <ConstantID>()) { parameter.intValue = GetComponent <ConstantID>().constantID; } else { ACDebug.LogWarning("Cannot set the value of parameter " + parameterID + " ('" + parameter.label + "') as " + gameObject.name + " has no Constant ID component.", gameObject); } } } actionListAsset.Interact(); } } break; } }
/** * Runs the "cutsceneOnLoad" Cutscene. */ public void OnLoad() { if (actionListSource == ActionListSource.InScene) { if (cutsceneOnLoad != null) { cutsceneOnLoad.Interact(); } } else if (actionListSource == ActionListSource.AssetFile) { if (actionListAssetOnLoad != null) { actionListAssetOnLoad.Interact(); } } }
/** * <summary>Runs the Arrow's linkedCutscene.</summary> * <param name = "actionListSource">Where the Actions are stored when not being run</param> */ public void Run(ActionListSource actionListSource) { if (actionListSource == ActionListSource.AssetFile) { if (linkedActionList != null) { linkedActionList.Interact(); } } else if (actionListSource == ActionListSource.InScene) { if (linkedCutscene != null) { linkedCutscene.Interact(); } } }
public void SetParameter(ActionListSource source, GameObject gameObject) { if (source == ActionListSource.InScene && cutscene != null) { if (cutscene.useParameters && parameterID >= 0 && cutscene.parameters.Count > parameterID) { ActionParameter parameter = cutscene.GetParameter(parameterID); if (parameter != null) { parameter.SetValue(gameObject); } } if (!pausesCharacter) { cutscene.Interact(); } } else if (source == ActionListSource.AssetFile && actionListAsset != null) { if (actionListAsset.useParameters && parameterID >= 0 && actionListAsset.parameters.Count > parameterID) { int idToSend = 0; if (gameObject.GetComponent <ConstantID>()) { idToSend = gameObject.GetComponent <ConstantID>().constantID; } else { ACDebug.LogWarning(gameObject.name + " requires a ConstantID script component!", gameObject); } ActionParameter parameter = actionListAsset.GetParameter(parameterID); if (parameter != null) { parameter.SetValue(idToSend); } } if (!pausesCharacter) { actionListAsset.Interact(); } } }
/** * <summary>Runs the 'on snap' ActionList associated with the region</summary> * <param name = "actionListSource">The source of the ActionList (InScene, AssetFile)</param> */ public void RunSnapCutscene(ActionListSource actionListSource) { switch (actionListSource) { case ActionListSource.InScene: if (cutsceneOnSnap) { cutsceneOnSnap.Interact(); } break; case ActionListSource.AssetFile: if (actionListAssetOnSnap) { actionListAssetOnSnap.Interact(); } break; } }
protected void PlayStartCutscene() { KickStarter.stateHandler.PlayGlobalOnStart(); KickStarter.eventManager.Call_OnStartScene(); if (actionListSource == ActionListSource.InScene) { if (cutsceneOnStart != null) { cutsceneOnStart.Interact(); } } else if (actionListSource == ActionListSource.AssetFile) { if (actionListAssetOnStart != null) { actionListAssetOnStart.Interact(); } } }
private void RunCutsceneOnStart() { KickStarter.eventManager.Call_OnStartScene(); if (actionListSource == ActionListSource.InScene) { if (cutsceneOnStart != null) { KickStarter.stateHandler.gameState = GameState.Normal; cutsceneOnStart.Interact(); } } else if (actionListSource == ActionListSource.AssetFile) { if (actionListAssetOnStart != null) { KickStarter.stateHandler.gameState = GameState.Normal; actionListAssetOnStart.Interact(); } } }
/** * <summary>Creates and displays the correct InvItem, based on the current Recipe, provided craftingType = CraftingElementType.Output.</summary> * <param name = "source">How the parent Menu is displayed (AdventureCreator, UnityUiPrefab, UnityUiInScene)</param> */ public void SetOutput(MenuSource source) { if (craftingType != CraftingElementType.Output) { return; } items = new List <InvItem>(); activeRecipe = KickStarter.runtimeInventory.CalculateRecipe(); if (activeRecipe != null) { AdvGame.RunActionListAsset(activeRecipe.actionListOnCreate); foreach (InvItem assetItem in AdvGame.GetReferences().inventoryManager.items) { if (assetItem.id == activeRecipe.resultID) { InvItem newItem = new InvItem(assetItem); newItem.count = 1; items.Add(newItem); } } KickStarter.eventManager.Call_OnCraftingSucceed(activeRecipe); } else { if (!autoCreate && actionListOnWrongIngredients != null) { actionListOnWrongIngredients.Interact(); } } /*if (!autoCreate) * { * base.RecalculateSize (source); * }*/ }
private void RunActionLists() { switch (actionListSource) { case ActionListSource.InScene: if (actionList != null) { if (setParameters) { AssignParameterValues(actionList); } if (actionList.IsSkippable() && runInstantly) { actionList.Skip(); } else { actionList.Interact(); } } break; case ActionListSource.AssetFile: if (actionListAsset != null) { if (setParameters && runMultipleTimes) { if (actionListAsset.canRunMultipleInstances) { for (int i = 0; i < successiveGUIData.Length + 1; i++) { AssignParameterValues(actionListAsset, i); if (actionListAsset.IsSkippable() && runInstantly) { AdvGame.SkipActionListAsset(actionListAsset); } else { actionListAsset.Interact(); } } } else { ACDebug.LogWarning("Cannot set run multiple parameter configurations because the ActionList asset '" + actionListAsset + "' has 'Can run multiple instances?' unchecked.", actionListAsset); } return; } if (setParameters) { AssignParameterValues(actionListAsset); } if (actionListAsset.IsSkippable() && runInstantly) { AdvGame.SkipActionListAsset(actionListAsset); } else { actionListAsset.Interact(); } } break; } }