コード例 #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);
    }
コード例 #2
0
ファイル: ActionBarInput.cs プロジェクト: xmshaka/unityassets
 void ClearPickup()
 {
     //pickupIn = 0;
     pickupButton     = null;
     pickupDescriptor = null;
     pickupPosition   = Vector3.zero;
     renderer.enabled = false;
 }
コード例 #3
0
ファイル: ActionBarRow.cs プロジェクト: xmshaka/unityassets
    public ActionBarDescriptor SetButton(int buttonIndex, ActionBarDescriptor descriptor)
    {
        if (buttonIndex >= buttons.Length)
        {
            Debug.LogError("buttonIndex out of range");
            return(null);
        }

        return(buttons[buttonIndex].SetDescriptor(descriptor));
    }
コード例 #4
0
ファイル: ActionBarInput.cs プロジェクト: xmshaka/unityassets
 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();
             }
         }
     }
 }
コード例 #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);
    }
コード例 #6
0
ファイル: MMO_Style.cs プロジェクト: xmshaka/unityassets
    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
            {
            }
        }
    }
コード例 #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);
    }
コード例 #8
0
ファイル: ActionBarInput.cs プロジェクト: xmshaka/unityassets
 public void Pickup(ActionBarDescriptor descriptor)
 {
     pickupDescriptor = descriptor;
     SetIcon(descriptor.Atlas, descriptor.Icon, 64);
 }
コード例 #9
0
 public void Pickup(ActionBarDescriptor descriptor)
 {
     pickupDescriptor = descriptor;
     SetIcon(descriptor.Atlas, descriptor.Icon, 64);
 }
コード例 #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();
             }
         }
     }
 }
コード例 #11
0
 void ClearPickup()
 {
     //pickupIn = 0;
     pickupButton = null;
     pickupDescriptor = null;
     pickupPosition = Vector3.zero;
     renderer.enabled = false;
 }
コード例 #12
0
ファイル: MMO_Style.cs プロジェクト: Ramzawulf/unityassets
    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);
    }
コード例 #13
0
ファイル: MMO_Style.cs プロジェクト: Ramzawulf/unityassets
    void BagClick(ActionBarDescriptor descriptor)
    {

    }
コード例 #14
0
ファイル: MMO_Style.cs プロジェクト: Ramzawulf/unityassets
 void SpellBookClick(ActionBarDescriptor descriptor)
 {
     Spellbook_Background.active = true;
     Spellbook_Buttons.gameObject.active = true;
 }
コード例 #15
0
ファイル: MMO_Style.cs プロジェクト: Ramzawulf/unityassets
    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
            {

            }
        }
    }
コード例 #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;
    }
コード例 #17
0
ファイル: MMO_Style.cs プロジェクト: xmshaka/unityassets
    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);
    }
コード例 #18
0
ファイル: MMO_Style.cs プロジェクト: xmshaka/unityassets
 void BagClick(ActionBarDescriptor descriptor)
 {
 }
コード例 #19
0
ファイル: MMO_Style.cs プロジェクト: xmshaka/unityassets
 void SpellBookClick(ActionBarDescriptor descriptor)
 {
     Spellbook_Background.active         = true;
     Spellbook_Buttons.gameObject.active = true;
 }
コード例 #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;
    }
コード例 #21
0
ファイル: ActionBarRow.cs プロジェクト: Ramzawulf/unityassets
    public ActionBarDescriptor SetButton(int buttonIndex, ActionBarDescriptor descriptor)
    {
        if (buttonIndex >= buttons.Length)
        {
            Debug.LogError("buttonIndex out of range");
            return null;
        }

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