Exemplo n.º 1
0
        //We have a local copy here so that we can do some optimizing that isn't available in MenuCore.
        private Vector3 DeterminePosition(Counter <T> counter, CountersData data)
        {
            float             comboOffset = CountersController.settings.ComboOffset;
            float             multOffset  = CountersController.settings.MultiplierOffset;
            ICounterPositions position    = settings.Position;
            int     index  = settings.Distance;
            Vector3 pos    = new Vector3();                       //Base position
            Vector3 offset = new Vector3(0, -0.75f * (index), 0); //Offset for any overlapping, indexes, etc.
            bool    hud360 = CountersController.settings.hudConfig.AttachToBaseGameHUDFor360 && data.Is360Or90Level;
            float   X      = hud360 ? 2f : 3.2f;

            switch (position)
            {
            case ICounterPositions.BelowCombo:
                pos = new Vector3(-X, 1.15f - comboOffset, 7);
                break;

            case ICounterPositions.AboveCombo:
                pos    = new Vector3(-X, 2f + comboOffset, 7);
                offset = new Vector3(0, (offset.y * -1) + 0.75f, 0);
                break;

            case ICounterPositions.BelowMultiplier:
                pos = new Vector3(X, 1.05f - multOffset, 7);
                break;

            case ICounterPositions.AboveMultiplier:
                pos    = new Vector3(X, 2f + multOffset, 7);
                offset = new Vector3(0, (offset.y * -1) + 0.75f, 0);
                break;

            case ICounterPositions.BelowEnergy:
                pos = new Vector3(0, hud360 ? -0.25f : -1.5f, 7);
                break;

            case ICounterPositions.AboveHighway:
                pos    = new Vector3(0, 2.5f, 7);
                offset = new Vector3(0, (offset.y * -1) + (hud360 ? 0.25f : 0.75f), 0);
                break;
            }
            if (counter is ProgressCounter)
            {
                if ((settings as ProgressConfigModel).Mode == ICounterMode.Original)
                {
                    offset += new Vector3(0.25f, 0, 0);
                }
            }
            return(pos + offset);
        }
Exemplo n.º 2
0
        public static Vector3 DeterminePosition(GameObject counter, ICounterPositions position, int index)
        {
            Vector3 pos    = new Vector3();                       //Base position
            Vector3 offset = new Vector3(0, -0.75f * (index), 0); //Offset for any overlapping, indexes, etc.
            bool    hud360 = settings.hudConfig.AttachToBaseGameHUDFor360 && Resources.FindObjectsOfTypeAll <FlyingGameHUDRotation>().Any(x => x.isActiveAndEnabled);
            float   X      = hud360 ? 2f : 3.2f;

            switch (position)
            {
            case ICounterPositions.BelowCombo:
                pos = new Vector3(-X, 1.15f - settings.ComboOffset, 7);
                break;

            case ICounterPositions.AboveCombo:
                pos    = new Vector3(-X, 2f + settings.ComboOffset, 7);
                offset = new Vector3(0, (offset.y * -1) + 0.75f, 0);
                break;

            case ICounterPositions.BelowMultiplier:
                pos = new Vector3(X, 1.05f - settings.MultiplierOffset, 7);
                break;

            case ICounterPositions.AboveMultiplier:
                pos    = new Vector3(X, 2f + settings.MultiplierOffset, 7);
                offset = new Vector3(0, (offset.y * -1) + 0.75f, 0);
                break;

            case ICounterPositions.BelowEnergy:
                pos = new Vector3(0, hud360 ? -0.25f : -1.5f, 7);
                break;

            case ICounterPositions.AboveHighway:
                pos    = new Vector3(0, 2.5f, 7);
                offset = new Vector3(0, (offset.y * -1) + (hud360 ? 0.25f : 0.75f), 0);
                break;
            }
            if (counter.GetComponent <ProgressCounter>() != null)
            {
                if (settings.progressConfig.Mode == ICounterMode.Original)
                {
                    offset += new Vector3(0.25f, 0, 0);
                }
            }
            return(pos + offset);
        }
Exemplo n.º 3
0
        public static Vector3 DeterminePosition(GameObject counter, ICounterPositions position, int index)
        {
            float   X      = 3.2f;
            Vector3 pos    = new Vector3();                       //Base position
            Vector3 offset = new Vector3(0, -0.75f * (index), 0); //Offset for any overlapping, indexes, etc.

            switch (position)
            {
            case ICounterPositions.BelowCombo:
                pos = new Vector3(-X, 0.85f - settings.ComboOffset, 7);
                break;

            case ICounterPositions.AboveCombo:
                pos    = new Vector3(-X, 1.7f + settings.ComboOffset, 7);
                offset = new Vector3(0, (offset.y * -1) + 0.75f, 0);
                break;

            case ICounterPositions.BelowMultiplier:
                pos = new Vector3(X, 0.75f - settings.MultiplierOffset, 7);
                break;

            case ICounterPositions.AboveMultiplier:
                pos    = new Vector3(X, 1.7f + settings.MultiplierOffset, 7);
                offset = new Vector3(0, (offset.y * -1) + 0.75f, 0);
                break;

            case ICounterPositions.BelowEnergy:
                pos = new Vector3(0, -1.5f, 7);
                break;

            case ICounterPositions.AboveHighway:
                pos    = new Vector3(0, 2.5f, 7);
                offset = new Vector3(0, (offset.y * -1) + 0.75f, 0);
                break;
            }
            if (counter.GetComponent <ProgressCounter>() != null)
            {
                if (settings.progressConfig.Mode == ICounterMode.Original)
                {
                    offset += new Vector3(0.25f, 0, 0);
                }
            }
            return(pos + offset);
        }
Exemplo n.º 4
0
        public static Vector3 DeterminePosition(GameObject counter, ICounterPositions position, int index)
        {
            float   X              = 3.2f;
            Vector3 pos            = new Vector3();                       //Base position
            Vector3 offset         = new Vector3(0, -0.75f * (index), 0); //Offset for any overlapping, indexes, etc.
            bool    nextToProgress = settings.progressConfig.Position == position && settings.progressConfig.Distance < index && settings.progressConfig.Mode == ICounterMode.Original;
            bool    nextToScore    = settings.scoreConfig.Position == position && settings.scoreConfig.Distance < index;
            bool    baseScore      = settings.scoreConfig.Mode == ICounterMode.BaseGame;

            switch (position)
            {
            case ICounterPositions.BelowCombo:
                pos = new Vector3(-X, 0.85f - settings.ComboOffset, 7);
                if (nextToProgress)
                {
                    offset += new Vector3(0, -0.25f, 0);
                }
                if (nextToScore)
                {
                    offset += new Vector3(0, -0.25f, 0);
                }
                if (nextToScore && baseScore)
                {
                    offset += new Vector3(0, -0.15f, 0);
                }
                break;

            case ICounterPositions.AboveCombo:
                pos    = new Vector3(-X, 1.7f + settings.ComboOffset, 7);
                offset = new Vector3(0, (offset.y * -1) + 0.75f, 0);
                if (nextToProgress)
                {
                    offset -= new Vector3(0, -0.5f, 0);
                }
                break;

            case ICounterPositions.BelowMultiplier:
                pos = new Vector3(X, 0.75f - settings.MultiplierOffset, 7);
                if (GameObject.Find("FCDisplay"))
                {
                    offset += new Vector3(0, -0.25f, 0);
                }
                if (nextToProgress)
                {
                    offset += new Vector3(0, -0.25f, 0);
                }
                if (nextToScore)
                {
                    offset += new Vector3(0, -0.25f, 0);
                }
                if (nextToScore && baseScore)
                {
                    offset += new Vector3(0, -0.15f, 0);
                }
                break;

            case ICounterPositions.AboveMultiplier:
                pos    = new Vector3(X, 1.7f + settings.MultiplierOffset, 7);
                offset = new Vector3(0, (offset.y * -1) + 0.75f, 0);
                if (GameObject.Find("FCDisplay"))
                {
                    offset += new Vector3(0, -0.25f, 0);
                }
                if (nextToProgress)
                {
                    offset -= new Vector3(0, -0.5f, 0);
                }
                break;

            case ICounterPositions.BelowEnergy:
                pos = new Vector3(0, -1.5f, 7);
                if (nextToProgress)
                {
                    offset += new Vector3(0, -0.25f, 0);
                }
                if (nextToScore)
                {
                    offset += new Vector3(0, -0.25f, 0);
                }
                if (nextToScore && baseScore)
                {
                    offset += new Vector3(0, -0.15f, 0);
                }
                break;

            case ICounterPositions.AboveHighway:
                pos    = new Vector3(0, 2.5f, 7);
                offset = new Vector3(0, (offset.y * -1) + 0.75f, 0);
                if (nextToProgress)
                {
                    offset -= new Vector3(0, -0.5f, 0);
                }
                break;
            }
            if (counter.GetComponent <ProgressCounter>() != null)
            {
                if (settings.progressConfig.Mode == ICounterMode.Original)
                {
                    offset += new Vector3(0.25f, 0, 0);
                }
            }
            return(pos + offset);
        }
Exemplo n.º 5
0
 private static void ResetSetting <T>(T model, bool en, ICounterPositions pos, int index) where T : IConfigModel
 {
     model.Enabled  = en;
     model.Position = pos;
     model.Index    = index;
 }