Пример #1
0
    private MechColour GetMergedMechColour(MechController m1, MechController m2)
    {
        MechColour mechColour = MechColour.Red;

        if (m1.mechColour == MechColour.Purple || m1.mechColour == MechColour.Orange || m1.mechColour == MechColour.Green ||
            m2.mechColour == MechColour.Purple || m2.mechColour == MechColour.Orange || m2.mechColour == MechColour.Green)
        {
            mechColour = MechColour.Rainbow;
        }
        else
        {
            switch (m1.mechColour)
            {
            case MechController.MechColour.Red:
                if (m2.mechColour == MechController.MechColour.Blue)
                {
                    mechColour = MechColour.Purple;
                }
                else if (m2.mechColour == MechController.MechColour.Yellow)
                {
                    mechColour = MechColour.Orange;
                }
                break;

            case MechController.MechColour.Blue:
                if (m2.mechColour == MechController.MechColour.Red)
                {
                    mechColour = MechColour.Purple;
                }
                else if (m2.mechColour == MechController.MechColour.Yellow)
                {
                    mechColour = MechColour.Green;
                }
                break;

            case MechController.MechColour.Yellow:
                if (m2.mechColour == MechController.MechColour.Blue)
                {
                    mechColour = MechColour.Green;
                }
                else if (m2.mechColour == MechController.MechColour.Red)
                {
                    mechColour = MechColour.Orange;
                }
                break;

            default:
                Debug.LogError("Failed to get correct mech colour combination!!! making a second red");
                mechColour = MechColour.Red;
                break;
            }
        }

        return(mechColour);
    }
Пример #2
0
    private void MergeMechs(MechController m1, MechController m2)
    {
        MechColour newMechColour = GetMergedMechColour(m1, m2);
        Vector2    spawnPosition = (m1.transform.position + m2.transform.position) / 2;

        if (_activeMechColours.Contains(newMechColour) == false)
        {
            if (newMechColour == MechColour.Purple)
            {
                ShowMech(PurpleMech, spawnPosition);
                AssignSecondaryMechControls(PurpleMech, m1, m2);
                HideMech(RedMech);
                HideMech(BlueMech);
                SendMergeUpdate(m1.transform, m2.transform, PurpleMech.transform);
            }
            else if (newMechColour == MechColour.Orange)
            {
                ShowMech(OrangeMech, spawnPosition);
                AssignSecondaryMechControls(OrangeMech, m1, m2);
                HideMech(RedMech);
                HideMech(YellowMech);
                SendMergeUpdate(m1.transform, m2.transform, OrangeMech.transform);
            }
            else if (newMechColour == MechColour.Green)
            {
                ShowMech(GreenMech, spawnPosition);
                AssignSecondaryMechControls(GreenMech, m1, m2);
                HideMech(BlueMech);
                HideMech(YellowMech);
                SendMergeUpdate(m1.transform, m2.transform, GreenMech.transform);
            }
            else if (newMechColour == MechColour.Rainbow)
            {
                ShowMech(RainbowMech, spawnPosition);
                AssignTertiaryMechControls(m1, m2);
                HideMech(BlueMech);
                HideMech(YellowMech);
                HideMech(RedMech);
                HideMech(GreenMech);
                HideMech(OrangeMech);
                HideMech(PurpleMech);
                SendMergeUpdate(m1.transform, m2.transform, RainbowMech.transform);
            }

            m1.SetMergingState(false);
            m2.SetMergingState(false);

            _activeMechColours.Add(newMechColour);
            _activeMechColours.Remove(m1.mechColour);
            _activeMechColours.Remove(m2.mechColour);
        }
    }
Пример #3
0
    public Transform GetRandomActiveMech()
    {
        int        randomIndex      = Random.Range(0, _activeMechColours.Count);
        MechColour randomMechColour = _activeMechColours[randomIndex];
        Transform  mechTransform    = null;

        switch (randomMechColour)
        {
        case MechColour.Blue:
            mechTransform = BlueMech.transform;
            break;

        case MechColour.Red:
            mechTransform = RedMech.transform;
            break;

        case MechColour.Yellow:
            mechTransform = YellowMech.transform;
            break;

        case MechColour.Purple:
            mechTransform = PurpleMech.transform;
            break;

        case MechColour.Orange:
            mechTransform = OrangeMech.transform;
            break;

        case MechColour.Green:
            mechTransform = GreenMech.transform;
            break;

        case MechColour.Rainbow:
            mechTransform = RainbowMech.transform;
            break;

        default:
            Debug.LogError("Tried to get random mech but did not recognise the colour: " + randomMechColour);
            break;
        }
        return(mechTransform);
    }
Пример #4
0
    public void SetColour(MechColour mechColour)
    {
        switch (mechColour)
        {
        case MechController.MechColour.Red:
        {
            Color col = Color.white;
            ColorUtility.TryParseHtmlString("#ed1b24ff", out col);
            portrait.color = col;
            break;
        }

        case MechController.MechColour.Blue:
        {
            Color col = Color.white;
            ColorUtility.TryParseHtmlString("#2e3192ff", out col);
            portrait.color = col;
            break;
        }

        case MechController.MechColour.Yellow:
        {
            Color col = Color.white;
            ColorUtility.TryParseHtmlString("#f2e405ff", out col);
            portrait.color = col;
            break;
        }

        case MechController.MechColour.Purple:
        {
            Color col = Color.white;
            ColorUtility.TryParseHtmlString("#92278fff", out col);
            portrait.color = col;
            break;
        }

        case MechController.MechColour.Orange:
        {
            Color col = Color.white;
            ColorUtility.TryParseHtmlString("#f37521ff", out col);
            portrait.color = col;
            break;
        }

        case MechController.MechColour.Green:
        {
            Color col = Color.white;
            ColorUtility.TryParseHtmlString("#1ab359ff", out col);
            portrait.color = col;
            break;
        }

        case MechController.MechColour.Rainbow:
        {
            Color col = Color.white;
            //ColorUtility.TryParseHtmlString("#ed1b24ff", out col);
            ColorUtility.TryParseHtmlString("#111111ff", out col);

            portrait.color = col;
            break;
        }
        }
    }