Beispiel #1
0
        public static List <Profile> Load()
        {
            List <Profile> list = new List <Profile>();

            if (File.Exists(Config.fldr + "Profiles.xml"))
            {
                XmlDocument settings = new XmlDocument();

                settings.Load(Config.fldr + "Profiles.xml");

                XmlNode     profiles_node = settings.SelectSingleNode("profiles");
                XmlNodeList profiles      = profiles_node.ChildNodes;

                foreach (XmlNode nodelist in profiles_node)
                {
                    Profile p = new Profile();

                    p.name  = nodelist.SelectSingleNode("name").InnerText;
                    p.mode  = (Keyboard.Mode) int.Parse(nodelist.SelectSingleNode("mode").InnerText);
                    p.delay = int.Parse(nodelist.SelectSingleNode("delay").InnerText);

                    p.color1[0] = ColorLevel.FromRGB(nodelist.SelectSingleNode("color1_left").InnerText);
                    p.color1[1] = ColorLevel.FromRGB(nodelist.SelectSingleNode("color1_center").InnerText);
                    p.color1[2] = ColorLevel.FromRGB(nodelist.SelectSingleNode("color1_right").InnerText);

                    p.color2[0] = ColorLevel.FromRGB(nodelist.SelectSingleNode("color2_left").InnerText);
                    p.color2[1] = ColorLevel.FromRGB(nodelist.SelectSingleNode("color2_center").InnerText);
                    p.color2[2] = ColorLevel.FromRGB(nodelist.SelectSingleNode("color2_right").InnerText);

                    list.Add(p);
                }
            }

            return(list);
        }
    public override void Initi(ColorLevel level)
    {
        int index = (int)level;

        if (_ring != null)
        {
            _ring.sprite = VirusSpritesMrg.Instance.GetRingSprite(index);
        }
        if (_circle != null)
        {
            _circle.sprite = VirusSpritesMrg.Instance.GetCircleSprite(index);
        }
        for (int i = 0; i < items.Count; i++)
        {
            var    item      = items[i];
            string virusName = virusEnum.ToString();
            string strName   = item.SpriteNames[index];
            Sprite sprite    = VirusSpritesMrg.Instance.GetSpriteByName(virusName, strName);
            for (int j = 0; j < item.SpriteRenderers.Count; j++)
            {
                var tt = item.SpriteRenderers[j];
                tt.sprite = sprite;
            }
        }
    }
    public static int GetVirusHealthByColorLevel(string virusName, int level, ColorLevel colorLevel)
    {
        int     totalValue = GetVirusTotalValue(virusName, level);
        Vector2 section    = GetSectionByVirusLevel(colorLevel);

        return((int)Random.Range(section.x * totalValue, section.y * totalValue));
    }
Beispiel #4
0
 private void ClearFormationContour(Formation formation, ColorLevel level)
 {
     _actionQueue.Enqueue(() =>
     {
         formation.ApplyActionOnEachUnit(agent =>
                                         agent.GetComponent <RTSCameraAgentComponent>()?.SetContourColor((int)level, null, true));
     });
 }
Beispiel #5
0
        /// <summary>
        /// Generates a bit cheer emote URL.
        /// </summary>
        public static string GetEmoteUrl(Theme theme, Type type, ColorLevel color, Size size)
        {
            var themeVal = Enum.GetName(typeof(Theme), theme).ToLower();
            var typeVal  = Enum.GetName(typeof(Type), type).ToLower();
            var colorVal = Enum.GetName(typeof(ColorLevel), color).ToLower();
            var sizeVal  = TmiNumberFormatter.FormatEmoteSize(size);

            return($"https://static-cdn.jtvnw.net/bits/{themeVal}/{typeVal}/{colorVal}/{sizeVal}");
        }
Beispiel #6
0
    public static ColorLevel GetColorLevel(ColorLevel lastLevel)
    {
        List <ColorLevel> levels = new List <ColorLevel>();

        switch (lastLevel)
        {
        case ColorLevel.Level0:
            levels.Add(ColorLevel.Level1);
            levels.Add(ColorLevel.Level2);
            return(levels[Random.Range(0, 2)]);

        case ColorLevel.Level1:
            levels.Add(ColorLevel.Level1);
            levels.Add(ColorLevel.Level2);
            levels.Add(ColorLevel.Level3);
            return(levels[Random.Range(0, 3)]);

        case ColorLevel.Level2:
            levels.Add(ColorLevel.Level2);
            levels.Add(ColorLevel.Level3);
            levels.Add(ColorLevel.Level4);
            return(levels[Random.Range(0, 3)]);

        case ColorLevel.Level3:
            levels.Add(ColorLevel.Level3);
            levels.Add(ColorLevel.Level4);
            levels.Add(ColorLevel.Level5);
            return(levels[Random.Range(0, 3)]);

        case ColorLevel.Level4:
            levels.Add(ColorLevel.Level4);
            levels.Add(ColorLevel.Level5);
            levels.Add(ColorLevel.Level6);
            return(levels[Random.Range(0, 3)]);

        case ColorLevel.Level5:
            levels.Add(ColorLevel.Level5);
            levels.Add(ColorLevel.Level6);
            levels.Add(ColorLevel.Level7);
            return(levels[Random.Range(0, 3)]);

        case ColorLevel.Level6:
            levels.Add(ColorLevel.Level6);
            levels.Add(ColorLevel.Level7);
            return(levels[Random.Range(0, 2)]);

        case ColorLevel.Level7:
            levels.Add(ColorLevel.Level7);
            levels.Add(ColorLevel.Level8);
            return(levels[Random.Range(0, 2)]);

        case ColorLevel.Level8:
            return(ColorLevel.Level8);
        }
        return(ColorLevel.Level8);
    }
Beispiel #7
0
 public void SetBubbleSprite(ColorLevel colorLevel)
 {
     if (_bubbleObjects != null && _bubbleObjects.Count > 0)
     {
         for (int i = 0; i < _bubbleObjects.Count; i++)
         {
             var bubble = _bubbleObjects[i];
             bubble.GetComponent <BubbleEffect>().SetSprite(colorLevel);
         }
     }
 }
Beispiel #8
0
    private void SpawnBubble(int sortIndex, ColorLevel colorLevel)
    {
        int   level  = (int)colorLevel;
        var   bubble = EffectPools.Instance.Spawn("BubbleEffect");
        float radius = Random.Range(1f, 1.3f);
        float angle  = Random.Range(0, 2 * Mathf.PI);

        bubble.transform.SetParent(transform);
        bubble.transform.localPosition = new Vector2(Mathf.Sin(angle) * radius, Mathf.Cos(angle) * radius);
        bubble.GetComponent <BubbleEffect>().Initi(0.1f, 1.2f, level, sortIndex);
        _bubbleObjects.Add(bubble);
    }
Beispiel #9
0
 public void Initi(int sortIndex, SplitLevel splitLevel, ColorLevel colorLevel)
 {
     DetroyBubbles();
     if (IsSpawn(splitLevel))
     {
         _bubbleObjects = new List <GameObject>();
         int count = Random.Range(3, 6);
         for (int i = 0; i < count; i++)
         {
             SpawnBubble(sortIndex, colorLevel);
         }
     }
 }
    public void UpdateLine(Transform startPos, Transform endPos, ColorLevel level)
    {
        Vector3 offset = endPos.position - startPos.position;
        float   dis    = offset.magnitude;

        transform.position   = startPos.position;
        transform.right      = offset.normalized;
        transform.localScale = new Vector3(dis / 1.92f, 1, 1);

        int    index  = (int)level;
        Sprite sprite = VirusSpritesMrg.Instance.GetCureLineSprite(index);

        _spriteRenderer.sprite = sprite;
    }
Beispiel #11
0
        public Profile()
        {
            name   = "";
            delay  = 20;
            mode   = Keyboard.Mode.NORMAL;
            color1 = new ColorLevel[3];
            color2 = new ColorLevel[3];

            color1[0] = new ColorLevel(Color.Black, Keyboard.Color.OFF, Keyboard.Level.HIGH);
            color1[1] = new ColorLevel(Color.Black, Keyboard.Color.OFF, Keyboard.Level.HIGH);
            color1[2] = new ColorLevel(Color.Black, Keyboard.Color.OFF, Keyboard.Level.HIGH);

            color2[0] = new ColorLevel(Color.Black, Keyboard.Color.OFF, Keyboard.Level.HIGH);
            color2[1] = new ColorLevel(Color.Black, Keyboard.Color.OFF, Keyboard.Level.HIGH);
            color2[2] = new ColorLevel(Color.Black, Keyboard.Color.OFF, Keyboard.Level.HIGH);
        }
Beispiel #12
0
    public override void Initi(ColorLevel level)
    {
        int index = (int)level;

        if (_ring != null)
        {
            _ring.sprite = VirusSpritesMrg.Instance.GetRingSprite(index);
        }

        var circleSprite = VirusSpritesMrg.Instance.GetCircleSprite(index);

        for (int i = 0; i < _circleRenderers.Count; i++)
        {
            var item = _circleRenderers[i];
            item.sprite = circleSprite;
        }
    }
Beispiel #13
0
        public void Execute(Entity entity, int index, ref Joiner_C joiner)
        {
            //添加质量组件
            MassPoint_C mass = new MassPoint_C();

            mass.Mass = UnitHelper.Range2Mass(joiner.Range);
            concurrent.AddComponent(index, entity, mass);
            //添加缩放组件
            NonUniformScale scale = new NonUniformScale();

            scale.Value = (float3)(new double3(1, 1, 1) * 2 * joiner.Range);
            concurrent.AddComponent(index, entity, scale);
            //添加缩放组件
            ColorLevel color = new ColorLevel();

            color.Value = 0.5f;
            concurrent.AddComponent(index, entity, color);
        }
Beispiel #14
0
 protected void Divide(string virusName, ColorLevel colorLevel, int count)
 {
     if (SplitLevel > SplitLevel.Level1)
     {
         Vector3 pos   = transform.position;
         var     level = SplitLevel - 1;
         var     move  = transform.GetComponent <VirusMove>();
         for (int i = 0; i < count; i++)
         {
             VirusData data1 = new VirusData();
             data1.VirusColorLevel = VirusTool.GetColorLevel(colorLevel);
             data1.SplitLevel      = level;
             data1.MoveSpeed       = move.OriginSpeed;
             data1.MoveDirection   = Quaternion.Euler(0, 0, Random.Range(-45f, 45f)) * Vector3.up;
             data1.HealthValue     = VirusTool.GetVirusHealthByColorLevel(virusName, VirusGameDataAdapter.GetLevel(), data1.VirusColorLevel);
             VirusMrg.Instance.SpawnVirus(virusName, data1, pos, false);
         }
     }
 }
Beispiel #15
0
    private static Vector2 GetSectionByVirusLevel(ColorLevel virusLevel)
    {
        switch (virusLevel)
        {
        case ColorLevel.Level0: return(new Vector2(0.5f, 1));

        case ColorLevel.Level1: return(new Vector2(0.4f, 0.5f));

        case ColorLevel.Level2: return(new Vector2(0.35f, 0.4f));

        case ColorLevel.Level3: return(new Vector2(0.3f, 0.35f));

        case ColorLevel.Level4: return(new Vector2(0.25f, 0.3f));

        case ColorLevel.Level5: return(new Vector2(0.2f, 0.25f));

        case ColorLevel.Level6: return(new Vector2(0.15f, 0.2f));

        case ColorLevel.Level7: return(new Vector2(0.05f, 0.15f));

        case ColorLevel.Level8: return(new Vector2(0.01f, 0.05f));
        }
        return(Vector2.zero);
    }
    public void Initi(ColorLevel colorLevel)
    {
        int index = (int)colorLevel;

        _spriteRenderer.sprite = VirusSpritesMrg.Instance.GetCureAddSprite(index);
    }
Beispiel #17
0
    public static int GetVirusHealthByColorLevel(string virusName, int level, ColorLevel colorLevel)
    {
        int     totalValue;
        Vector2 section;

        switch (virusName)
        {
        case "NormalVirus":
            totalValue = level * level * 10 + 100;
            section    = GetSectionByVirusLevel(colorLevel);
            return((int)Random.Range(section.x * totalValue, section.y * totalValue));

        case "FastVirus":
            totalValue = level * level * 4 + 100;
            section    = GetSectionByVirusLevel(colorLevel);
            return((int)Random.Range(section.x * totalValue, section.y * totalValue));

        case "CureVirus":
            totalValue = level * level * 4 + 100;
            section    = GetSectionByVirusLevel(colorLevel);
            return((int)Random.Range(section.x * totalValue, section.y * totalValue));

        case "CollisionVirus":
            totalValue = level * level * 5 + 100;
            section    = GetSectionByVirusLevel(colorLevel);
            return((int)Random.Range(section.x * totalValue, section.y * totalValue));

        case "SlowDownVirus":
            totalValue = level * level * 3 + 100;
            section    = GetSectionByVirusLevel(colorLevel);
            return((int)Random.Range(section.x * totalValue, section.y * totalValue));

        case "RegenerativeVirus":
            totalValue = level * level * 2 + 100;
            section    = GetSectionByVirusLevel(colorLevel);
            return((int)Random.Range(section.x * totalValue, section.y * totalValue));

        case "SwallowVirus":
            totalValue = level * level * 6 + 100;
            section    = GetSectionByVirusLevel(colorLevel);
            return((int)Random.Range(section.x * totalValue, section.y * totalValue));

        case "ExplosiveVirus":
            totalValue = level * level * 10 + 100;
            section    = GetSectionByVirusLevel(colorLevel);
            return((int)Random.Range(section.x * totalValue, section.y * totalValue));

        case "AdsorptionVirus":
            totalValue = level * level * 10 + 100;
            section    = GetSectionByVirusLevel(colorLevel);
            return((int)Random.Range(section.x * totalValue, section.y * totalValue));

        case "DefendingVirus":
            totalValue = level * level * 6 + 100;
            section    = GetSectionByVirusLevel(colorLevel);
            return((int)Random.Range(section.x * totalValue, section.y * totalValue));

        case "TrackingVirus":
            totalValue = level * level * 10 + 100;
            section    = GetSectionByVirusLevel(colorLevel);
            return((int)Random.Range(section.x * totalValue, section.y * totalValue));

        case "DartVirus":
            totalValue = level * level * 8 + 100;
            section    = GetSectionByVirusLevel(colorLevel);
            return((int)Random.Range(section.x * totalValue, section.y * totalValue));

        case "LaunchVirus":
            totalValue = level * level * 10 + 100;
            section    = GetSectionByVirusLevel(colorLevel);
            return((int)Random.Range(section.x * totalValue, section.y * totalValue));

        case "VampireVirus":
            totalValue = level * level * 5 + 100;
            section    = GetSectionByVirusLevel(colorLevel);
            return((int)Random.Range(section.x * totalValue, section.y * totalValue));

        case "ExpansionVirus":
            totalValue = level * level * 10 + 100;
            section    = GetSectionByVirusLevel(colorLevel);
            return((int)Random.Range(section.x * totalValue, section.y * totalValue));

        case "ThreePointsVirus":
            totalValue = level * level * 8 + 100;
            section    = GetSectionByVirusLevel(colorLevel);
            return((int)Random.Range(section.x * totalValue, section.y * totalValue));
        }
        return(0);
    }
Beispiel #18
0
 public abstract void Initi(ColorLevel level);
    public void SetSprite(ColorLevel colorLevel)
    {
        int index = (int)colorLevel;

        _spriteRenderer.sprite = VirusSpritesMrg.Instance.GetDotSprite(index);
    }