Exemplo n.º 1
0
    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);
    }
Exemplo n.º 2
0
 void ClearPickup()
 {
     //pickupIn = 0;
     pickupButton     = null;
     pickupDescriptor = null;
     pickupPosition   = Vector3.zero;
     renderer.enabled = false;
 }
Exemplo n.º 3
0
    public ActionBarDescriptor SetButton(int buttonIndex, ActionBarDescriptor descriptor)
    {
        if (buttonIndex >= buttons.Length)
        {
            Debug.LogError("buttonIndex out of range");
            return(null);
        }

        return(buttons[buttonIndex].SetDescriptor(descriptor));
    }
Exemplo n.º 4
0
 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();
             }
         }
     }
 }
Exemplo n.º 5
0
    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);
    }
Exemplo n.º 6
0
    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
            {
            }
        }
    }
Exemplo n.º 7
0
    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);
    }
Exemplo n.º 8
0
 public void Pickup(ActionBarDescriptor descriptor)
 {
     pickupDescriptor = descriptor;
     SetIcon(descriptor.Atlas, descriptor.Icon, 64);
 }
Exemplo n.º 9
0
 public void Pickup(ActionBarDescriptor descriptor)
 {
     pickupDescriptor = descriptor;
     SetIcon(descriptor.Atlas, descriptor.Icon, 64);
 }
Exemplo n.º 10
0
 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();
             }
         }
     }
 }
Exemplo n.º 11
0
 void ClearPickup()
 {
     //pickupIn = 0;
     pickupButton = null;
     pickupDescriptor = null;
     pickupPosition = Vector3.zero;
     renderer.enabled = false;
 }
Exemplo n.º 12
0
    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);
    }
Exemplo n.º 13
0
    void BagClick(ActionBarDescriptor descriptor)
    {

    }
Exemplo n.º 14
0
 void SpellBookClick(ActionBarDescriptor descriptor)
 {
     Spellbook_Background.active = true;
     Spellbook_Buttons.gameObject.active = true;
 }
Exemplo n.º 15
0
    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
            {

            }
        }
    }
Exemplo n.º 16
0
    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;
    }
Exemplo n.º 17
0
    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);
    }
Exemplo n.º 18
0
 void BagClick(ActionBarDescriptor descriptor)
 {
 }
Exemplo n.º 19
0
 void SpellBookClick(ActionBarDescriptor descriptor)
 {
     Spellbook_Background.active         = true;
     Spellbook_Buttons.gameObject.active = true;
 }
Exemplo n.º 20
0
    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;
    }
Exemplo n.º 21
0
    public ActionBarDescriptor SetButton(int buttonIndex, ActionBarDescriptor descriptor)
    {
        if (buttonIndex >= buttons.Length)
        {
            Debug.LogError("buttonIndex out of range");
            return null;
        }

        return buttons[buttonIndex].SetDescriptor(descriptor);
    }