public static void Invoke(this ActionBarDescriptor descriptor) { if (descriptor == null || descriptor.Callback == null) { return; } if (descriptor.Disabled) { ActionBarSettings.Instance.PlayDisabledSound(); return; } if (descriptor.OnCooldown) { ActionBarSettings.Instance.PlayCooldownSound(); return; } if (descriptor.PressAudioClip != null && ActionBarSettings.Instance.ButtonAudioSource != null) { ActionBarSettings.Instance.ButtonAudioSource.PlayOneShot(descriptor.PressAudioClip); } else { ActionBarSettings.Instance.PlayPressSound(); } descriptor.Callback(descriptor); }
void ClearPickup() { //pickupIn = 0; pickupButton = null; pickupDescriptor = null; pickupPosition = Vector3.zero; renderer.enabled = false; }
public ActionBarDescriptor SetButton(int buttonIndex, ActionBarDescriptor descriptor) { if (buttonIndex >= buttons.Length) { Debug.LogError("buttonIndex out of range"); return(null); } return(buttons[buttonIndex].SetDescriptor(descriptor)); }
void DecloneWithinGroup(ActionBarButton from, ActionBarButton to, ActionBarDescriptor descriptor) { if (to.Row.RemoveCloneWithinGroup && descriptor.Buttons.Count > 0 && descriptor.ItemGroup == to.ItemGroup) { foreach (ActionBarButton button in descriptor.Buttons.ToArray()) { if (button.ItemGroup == to.ItemGroup) { button.RemoveDescriptor(); } } } }
public ActionBarDescriptor RemoveDescriptor() { for (int i = 0; i < 4; ++i) { colors[i].b = 0f; } UpdateShaderData(); if (stack != null) { stack.gameObject.active = false; } ActionBarDescriptor tmp = descriptor; descriptor = null; tmp.Buttons.Remove(this); return(tmp); }
void PotionClick(ActionBarDescriptor descriptor) { if (descriptor.Stack > 0) { descriptor.Stack -= 1; descriptor.Cooldown = 10; if (descriptor.Stack == 0) { foreach (ActionBarButton b in descriptor.Buttons.ToArray()) { if (b.ItemGroup == descriptor.ItemGroup) { b.RemoveDescriptor(); } } } else { } } }
public ActionBarDescriptor SetDescriptor(ActionBarDescriptor desc) { if (desc == null) { return(null); } ActionBarDescriptor temp = descriptor; descriptor = desc; descriptor.Buttons.Add(this); onCooldown = desc.OnCooldown; SetIcon(desc.Atlas, desc.Icon); SetCooldown(desc.CooldownStart, desc.Cooldown); SetGrayscale(descriptor.Disabled ? 1f : 0f); if (desc.Stackable) { InitStack(); Stack = desc.Stack; stack.gameObject.active = true; } else { if (stack != null) { stack.gameObject.active = false; } } if (temp != null) { temp.Buttons.Remove(this); } return(temp); }
public void Pickup(ActionBarDescriptor descriptor) { pickupDescriptor = descriptor; SetIcon(descriptor.Atlas, descriptor.Icon, 64); }
void Start() { spellDescriptors = new ActionBarDescriptor[16]; for (int i = 0; i < spellDescriptors.Length; ++i) { spellDescriptors[i] = new ActionBarDescriptor { Atlas = 2, Icon = i, Callback = (d) => { d.Cooldown = 5f; }, }; } BottomBar.AddInitCallback((row) => { row.SetButton(0, spellDescriptors[0]); row.SetButton(1, spellDescriptors[1]); row.SetButton(2, spellDescriptors[3]); row.SetButton(3, spellDescriptors[11]); row.SetButton(4, spellDescriptors[15]); }); BagRow.AddInitCallback((row) => { row.SetButton(0, new ActionBarDescriptor { Atlas = 3, Icon = 3, Callback = BagClick, PressAudioClip = Resources.Load("43598__freqman__garbage-bag-3", typeof(AudioClip)) as AudioClip }); row.SetButton(1, new ActionBarDescriptor { Atlas = 3, Icon = 2, Callback = SpellBookClick, PressAudioClip = Resources.Load("FlippingPages", typeof(AudioClip)) as AudioClip }); }); Spellbook_Buttons.AddInitCallback((row) => { for (int n = 0; n < 16; ++n) { row.SetButton(n, spellDescriptors[n]); } }); Bag_Buttons.AddInitCallback((row) => { InitPotion(row, 0, 8); InitPotion(row, 1, 8); InitPotion(row, 2, 9); InitPotion(row, 3, 9); InitPotion(row, 4, 10); InitPotion(row, 5, 10); }); Bag_Background.transform.localScale = new Vector3(256, 256, 1); }
void BagClick(ActionBarDescriptor descriptor) { }
void SpellBookClick(ActionBarDescriptor descriptor) { Spellbook_Background.active = true; Spellbook_Buttons.gameObject.active = true; }
public ActionBarDescriptor SetDescriptor(ActionBarDescriptor desc) { if (desc == null) { return null; } ActionBarDescriptor temp = descriptor; descriptor = desc; descriptor.Buttons.Add(this); onCooldown = desc.OnCooldown; SetIcon(desc.Atlas, desc.Icon); SetCooldown(desc.CooldownStart, desc.Cooldown); SetGrayscale(descriptor.Disabled ? 1f : 0f); if (desc.Stackable) { InitStack(); Stack = desc.Stack; stack.gameObject.active = true; } else { if (stack != null) { stack.gameObject.active = false; } } if (temp != null) { temp.Buttons.Remove(this); } return temp; }
public ActionBarDescriptor RemoveDescriptor() { for (int i = 0; i < 4; ++i) { colors[i].b = 0f; } UpdateShaderData(); if (stack != null) { stack.gameObject.active = false; } ActionBarDescriptor tmp = descriptor; descriptor = null; tmp.Buttons.Remove(this); return tmp; }
public ActionBarDescriptor SetButton(int buttonIndex, ActionBarDescriptor descriptor) { if (buttonIndex >= buttons.Length) { Debug.LogError("buttonIndex out of range"); return null; } return buttons[buttonIndex].SetDescriptor(descriptor); }