public void ClearSequence() { actionItemObject = null; targetItemObject = null; actionItemAtFocusArea = string.Empty; targetItemAtFocusArea = string.Empty; actionTaken = CraftingAction.NONE; }
public void SetCraftingActionButton(CraftingAction craftAction, CraftingManager crafter) { craftingAction = craftAction; craftingMenuBehaviour = crafter; this.SetWidgetText(craftingAction.ToString()); }
public CraftingCondition(CraftingSim sim, CraftingAction craftingAction) { Sim = sim; CraftingAction = craftingAction; ActionSettings = new ActionSettings(); Conditions = new ObservableCollection <PropertyComparisonInfo>(); Conditions.CollectionChanged += Conditions_CollectionChanged; }
private bool CraftingActionNeedsItem(CraftingAction action) { if (action == CraftingAction.NONE || action == CraftingAction.ATTACH) { return(false); } return(true); }
public void ExecuteCraftingAction(MonoBehaviour host, CraftingAction craftingAction) { if (TakingCraftingAction) { return; } host.StartCoroutine(TakeCraftingAction(craftingAction, 0f)); }
private IEnumerator TakeCraftingAction(CraftingAction craftingAction, float waitTime) { TakingCraftingAction = true; activeSequence.actionTaken = craftingAction; yield return(new WaitForSeconds(waitTime)); TakingCraftingAction = false; }
public ToolSelectorButton CreateToolSelectorButton(CraftingAction tool) { var instantiate = Instantiate(buttonPrefab, this.rectTransform); var selector = instantiate.GetOrAddComponent <ToolSelectorButton>(); selector.SetToolData(tool); return(selector); }
private void OnWidgetActivated(CraftingAction action) { bool thisButtonActive = action == craftingAction; this.colorSet.ApplyColorSetToImage(image, thisButtonActive); float scaleModifier = thisButtonActive ? ActiveScaleFactor : InactiveScaleFactor; transform.localScale = Vector3.one * scaleModifier; }
public CraftingSim() { CraftingActions = new CraftingAction[MaxActions]; CraftingActionsLength = 0; CraftingBuffs = new List <CraftingBuff>(); StepSettings = new CraftingSimStepSettings[MaxActions]; for (int i = 0; i < MaxActions; i++) { StepSettings[i] = new CraftingSimStepSettings(); } }
private void SolveForCurrentActions(CraftingAction[] availableActions, CraftingAction[] actions) { Sim.RemoveActions(); Sim.AddActions(true, actions); var currentActions = Sim.GetCraftingActions(); if (currentActions.Length == actions.Length) { for (int i = 0; i < availableActions.Length; i++) { var newActions = new CraftingAction[currentActions.Length + 1]; currentActions.CopyTo(newActions, 0); newActions[newActions.Length - 1] = availableActions[i]; SolveForCurrentActions(availableActions, newActions); } } }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { CraftingAction action = value as CraftingAction; ClassJobInfo info = ClassJobInfo.CRP; if (parameter != null) { info = (ClassJobInfo)parameter; } if (action == null) { return(null); } if (G.Actions == null) { return(null); } return(G.Actions[action.Name].Images[info]); }
private void CopyMacroClicked(object sender, RoutedEventArgs e) { if (Sim == null) { return; } string text = ""; var actions = Sim.GetCraftingActions(); for (int i = 0; i < actions.Length; i++) { CraftingAction ac = actions[i]; text += $"/ac \"{ac.Name}\" <wait.{(ac.IsBuff ? 2 : 3)}>\r\n"; } if (!string.IsNullOrEmpty(text)) { Dispatcher.Invoke(() => Clipboard.SetDataObject(text)); } }
public void SubmitCraftingActionToItemCrafter(CraftingAction action) { itemCrafter.ExecuteCraftingAction(this, action); }
public virtual void ExecuteActions(Dictionary <ExtendedArray <ushort>, CraftingSim> states = null) { CurrentCP = MaxCP; CurrentProgress = 0; CurrentQuality = 0; CraftingBuffs.Clear(); InnerQuietBuff = null; WasteNotBuff = null; VenerationBuff = null; GreatStridesBuff = null; InnovationBuff = null; MuscleMemoryBuff = null; ManipulationBuff = null; ObserveBuff = null; NameOfTheElementsBuff = null; NameOfTheElementsUsed = false; Step = 0; if (CurrentRecipe == null) { return; } //if (states == null) // states = G.CraftingStates; CurrentDurability = CurrentRecipe.Durability; if (CraftingActionsLength == 0) { //FinishedStep(this, 0); FinishedExecution(this); return; } ExtendedArray <ushort> actions = null; if (states != null) { actions = GetCraftingActions().Select(x => x.Id).ToArray(); if (states.ContainsKey(actions)) { states[actions].CopyTo(this, true); FinishedExecution(this); return; } } for (int i = 0; i < CraftingActionsLength; i++) { CraftingAction action = CraftingActions[i]; if (CurrentDurability <= 0 || action.AsFirstActionOnly && i > 0 || CurrentProgress >= CurrentRecipe.MaxProgress || action.GetCPCost(this) > CurrentCP || action.CheckInner(this) != CraftingActionResult.Success) { RemoveRedundantActions(); if (states != null) { actions = GetCraftingActions().Select(x => x.Id).ToArray(); CraftingSim sim = Clone(); CopyTo(sim, true); states[actions] = sim; } FinishedExecution(this); return; } action.IncreaseProgress(this); action.IncreaseQuality(this); CurrentDurability -= action.GetDurabilityCost(this); if (CurrentDurability > CurrentRecipe.Durability) { CurrentDurability = CurrentRecipe.Durability; } CurrentCP -= action.GetCPCost(this); foreach (var buff in CraftingBuffs) { buff.Step(this); } for (int j = 0; j < CraftingBuffs.Count; j++) { var buff = CraftingBuffs[j]; if (buff.NeedsRemove) { buff.Remove(this); j--; } } Step++; if (action.AddsBuff) { action.AddBuff(this); } FinishedStep(this, i); } if (states != null) { actions = GetCraftingActions().Select(x => x.Id).ToArray(); CraftingSim sim = Clone(); CopyTo(sim, true); states[actions] = sim; } FinishedExecution(this); }
public CraftingAction[] GetCraftingActions() { CraftingAction[] result = new CraftingAction[CraftingActionsLength]; Array.Copy(CraftingActions, result, CraftingActionsLength); return(result); }
public void AddAction(CraftingAction action) { actions.Add(action); actions.Sort((CraftingAction a, CraftingAction b) => { return(a.Priority > b.Priority ? 1 : -1); }); }
private void CreateCraftingActionWidgetInternal(UiElementContainer container, GameObject prefab, CraftingAction action, int?position = null) { Debug.LogFormat("Creating Crafting action button {0}", action); container.SpawnAtAlternatingVerticalPositions(prefab, 100, 150, position: position); CraftingActionWidget craftAction = container.GetLastChildComponent <CraftingActionWidget>(); craftAction.InitializeWidgetComponents(); craftAction.SetCraftingActionButton(action, craftingManager); craftAction.EnableFidgeting(); }
public void SetToolData(CraftingAction tool) { this.ToolName = tool.ToString(); ButtonText.text = this.ToolName; this.action = tool; }
public CraftingActionContainer(CraftingSimEx sim, CraftingAction action) { Source = G.Actions[action.Name].Images[sim.CurrentRecipe.ClassJob]; Sim = sim; Action = action; }
public ImageAndActionContainer(CraftingSimEx sim, CraftingAction craftingAction) { CraftingAction = craftingAction; BitmapSource = G.Actions[CraftingAction.Name].Images[sim.CurrentRecipe.ClassJob]; }