void CheckTurn(UnitActionBase ability) { if (Behavior == BlipBehaviour.on_action) { Blip.SetActive(ability.ActionInProgress); } }
void SetNewAction(UnitActionBase action) { m_action = action; if (m_action != null) { MDebug.Log("^ui Button Set Action " + m_action.ActionID); //so we can test it also without owner if (action.GetOwner() != null) { inventory = action.GetOwner().Inventory; inventory.OnInventoryUpdated += OnInventoryUpdate; action.GetOwner().Stats.OnStatUpdated -= OnStatUpdated; if (Adr_Rush != null) { Adr_Rush.Init(action.GetOwner().Stats); } } action.OnSelectAction += OnActionSelect; action.OnUnselectAction += OnActionUnselect; action.OnActionComplete += OnActionComplete; action.OnActionStart += OnActionComplete; action.GetOwner().Stats.OnStatUpdated += OnStatUpdated; SetBaseState(m_action); } }
void ActionChanged(UnitActionBase b) { if (OnUpdateTurnTime != null) { OnUpdateTurnTime(this as ITurn); } }
public void SetAction(UnitActionBase action, ActionManager manager) { m_manager = manager; UnsetCurrentAction(); SetNewAction(action); }
void Awake() { m_action = GetComponent <UnitActionBase>(); m_action.OnSelectAction += OnSelect; m_action.OnUnselectAction += OnUnselect; }
public virtual void SetAbility(UnitActionBase ability) { GameObject header = Instantiate(Resources.Load("UI/ToolTips/ui_toolip_ability_header") as GameObject); header.transform.SetParent(HeaderTarget, false); header.GetComponent <UI_ToolTipAbility_Header>().SetAbility(ability); }
public void UpdateChargers(UnitActionBase action) { ChargesCounterFill.gameObject.SetActive(action.ChargeController.useCharges); ChargesCounterTF.gameObject.SetActive(action.ChargeController.useCharges); ChargesCounterTF.text = action.ChargeController.GetChargesForType().ToString() + "/" + action.ChargeController.GetMax(); }
void ActionComplete(UnitActionBase action) { if (m_unit.IsDead()) { return; } UpdateAP(); }
public virtual void SetAbility(UnitActionBase ability) { Icon.sprite = ability.GetImage(); Name.text = ability.GetActionID(); Description.text = ability.GetDescription().Replace("<br>", "\n"); EndsTurnIndicator.SetActive(ability.GetEndsTurn()); }
public override void SetAbility(UnitActionBase ability) { base.SetAbility(ability); UnitAction_ApplyEffect ap = ability as UnitAction_ApplyEffect; // MDebug.Log(ap.Effects.Count); EffectList.SetEffects(ap.Effects); }
ColorSetting_Button GetBaseColorSetting(UnitActionBase action) { if (Adr_Rush != null && ShowAdrenalineRush() && Adr_Rush.HasRush && action.CanExecAction(false)) { return(UI_ActionBar_Button_ColorSetting.GetInstance().BTN_ADR_Rush); } else { return(action.CanExecAction(false) ? UI_ActionBar_Button_ColorSetting.GetInstance().BTN_Active : UI_ActionBar_Button_ColorSetting.GetInstance().BTN_Inactive); } }
// Use this for initialization void Start() { m_action = GetComponent <UnitActionBase>(); m_action.OnUnselectAction += _b => { OnDisable(); }; m_action.OnTargetsFound += OnPreview; }
void TargetedAction(UnitActionBase b, Transform tgt) { // MDebug.Log("targeted action"); if (OnTargetAction != null) { OnTargetAction(b, tgt); } if (GetOwnerID() == 0) { SoundManager.PlayAtSourceTag("SoundSFXSource", "sfx_" + SoundManager.Presets.ability_confirm); } }
public void SetBaseState(UnitActionBase action) { if (action == null || action.GetOwner() == null) { return; } // MDebug.Log("set base state " + action.ActionID); ActionIcon.sprite = action.GetImage(); ApplyColorSetting(GetBaseColorSetting(action)); UpdateChargers(action); }
void OnMoveEnd(UnitActionBase b) { if (b.GetOwner().currentTile.isCamp) { b.OnActionComplete -= OnMoveEnd; GlobalUpdateDispatcher.OnUpdate -= _update; if (_spawnedArrow != null) { Destroy(_spawnedArrow); } Complete(); } }
public UnitActionBase SelectAbility(UnitActionBase ability) { if (Unit.SelectedUnit != m_Owner || !HasAP() || IsAnimationPlaying() || m_Owner.IsDead()) { MDebug.Log("^abilityCould not select ability " + ability.GetActionID()); return(null); } if (currentAction != null && currentAction == ability) { if (GetOwnerID() == 0) { SoundManager.PlayAtSourceTag("SoundSFXSource", "sfx_" + SoundManager.Presets.ability_cancel.ToString()); } UnsetCurrentAction(); return(null); } UnsetCurrentAction(); if (!ability.CanExecAction(true)) { MDebug.Log("^abilitycan not execute ability " + ability.GetActionID()); if (GetOwnerID() == 0) { SoundManager.PlayAtSourceTag("SoundSFXSource", "sfx_" + SoundManager.Presets.error.ToString()); } return(null); } ToastNotification.StopToast(); currentAction = ability; currentAction.OnActionStart += OnActionUsed; currentAction.OnActionComplete += onComplete; currentAction.OnTarget += TargetedAction; currentAction.SelectAction(); if (GetOwnerID() == 0) { SoundManager.PlayAtSourceTag("SoundSFXSource", "sfx_" + SoundManager.Presets.ability_select.ToString()); } if (OnActionSelected != null) { OnActionSelected(currentAction); } return(currentAction); }
private void UnsetCurrentAction() { if (currentAction == null) { return; } currentAction.UnSelectAction(); currentAction.OnActionStart -= OnActionUsed; currentAction.OnTarget -= TargetedAction; currentAction = null; if (OnActionUnselected != null) { OnActionUnselected(currentAction); } }
public override void SetAbility(UnitActionBase ability) { UnitAction_ApplyEffectFromWeapon ae = ability as UnitAction_ApplyEffectFromWeapon; RegularList.SetEffects(ae.GetRegularEffects()); if (ae.WeaponBehaviorIndex == 0) { UI_ToolTip_AdrenalineRush adr_ui = (Instantiate(Resources.Load("UI/ui_adrenaline_rush")) as GameObject).GetComponent <UI_ToolTip_AdrenalineRush>(); adr_ui.transform.SetParent(AdrenalineBonus, false); adr_ui.Init(ability.GetOwner().Stats); } else { Divider.SetActive(false); } base.SetAbility(ability); }
void OnActionUsed(UnitActionBase action) { AP_Used += action.GetEndsTurn() ? MaxAP : action.AP_Cost; CurrentTurnCost += (int)action.GetTimeCost(); // if (OnActionComplete != null) OnActionComplete(action); if (TurnSystem.HasTurn(m_Owner) && RC_Camera.Instance != null) { RC_Camera.Instance.ActionPanToPos.GoTo(m_Owner.currentTile.GetPosition()); } UnsetCurrentAction(); if (OnActionStarted != null) { OnActionStarted(action); } // MDebug.Log(Owner.GetID() + " Action used" + action.ActionID); }
void UnsetCurrentAction() { // manager.OnActionComplete += OnActionComplete; if (m_action != null) { MDebug.Log("^ui Button Unset Action " + m_action.ActionID); m_action.OnSelectAction -= OnActionSelect; m_action.OnUnselectAction -= OnActionUnselect; m_action.OnActionComplete -= OnActionComplete; m_action.GetOwner().Stats.OnStatUpdated -= OnStatUpdated; if (inventory != null) { inventory.OnInventoryUpdated -= OnInventoryUpdate; } m_action = null; } }
void UpdateButtons(ActionManager manager) { if (m_manager != null && manager != m_manager) { UnSelectAction(null); } if (m_manager != null) { m_manager.OnActionSelected -= OnSelectAction; m_manager.OnActionUnselected -= UnSelectAction; // m_manager.GetActionOfType<UnitAction_Move>().OnActionComplete += action => m_manager = null; } m_manager = manager; m_manager.OnActionSelected += OnSelectAction; m_manager.OnActionUnselected += UnSelectAction; foreach (var button in CurrentButtons) { UnitActionBase actionb = GetActionForButton(m_manager.Actions.ToList(), button.Key); if (actionb != null) { button.Value.gameObject.SetActive(true); button.Value.SetAction(actionb, m_manager); } else { button.Value.gameObject.SetActive(false); } } Evac_Button_Icon.color = manager.GetOwner().currentTile.isCamp ? Color.white : new Color(0.3f, 0.3f, 0.3f, 1); }
void OnUnSelectedMove(UnitActionBase action) { TileSelector.SetActive(false); }
void OnUnselect(UnitActionBase unselect) { previewed.RemoveGroup(); previewed = null; }
void OnSelect(UnitActionBase select) { previewed = new MeshViewGroup(select.GetPreviewTiles(), TileStateConfigs.GetMaterialForstate(m_action.GetTileViewState())); }
public void OnActionSelect(UnitActionBase action) { ApplyColorSetting(UI_ActionBar_Button_ColorSetting.GetInstance().BTN_Selected); }
public void OnActionUnselect(UnitActionBase action) { // MDebug.Log("Action unselect "+action.ActionID); SetBaseState(action); }
void OnActionComplete(UnitActionBase _action) { SetBaseState(); }
void UnSelectAction(UnitActionBase action) { SetBaseStatesInButtons(); }
void OnMoveEnd(UnitActionBase m) { UnitAnimator.SetWalking(false); m.OnActionComplete -= OnMoveEnd; }
void onComplete(UnitActionBase action) { OnActionComplete(action); action.OnActionComplete -= onComplete; }