Esempio n. 1
0
 void Start()
 {
     rightSideController_1 = new SumoInputs();
     leftSideController_1  = new SumoInputs();
     rightSideController_2 = new SumoInputs();
     leftSideController_2  = new SumoInputs();
 }
    //arraylist o' SumoInputs
    public void ReceiveInputs(ArrayList sumoInputs)
    {
        float primeMagnitude = 0;

        for (int i = 0; i < sumoInputs.Count; i++)
        {
            SumoInputs iSumoInputs = sumoInputs[i] as SumoInputs;
            if (i == 0)
            {
                //primary
                moveVector     = new Vector2(iSumoInputs.getHorizontalMovemt(), iSumoInputs.getVerticalMovemt()) * this.primaryMag * speedMod;
                primeMagnitude = moveVector.magnitude;
                lastPrimeMoveX = iSumoInputs.getHorizontalMovemt();
            }
            else
            {
                //secondary
                moveVector += new Vector2(iSumoInputs.getHorizontalMovemt(), iSumoInputs.getVerticalMovemt()) * this.secondaryMag * speedMod;
            }
        }
        //update properties
        currentSpeed        = moveVector.magnitude;
        primaryIsStruggling = currentSpeed < (primeMagnitude * 0.3);
    }
Esempio n. 3
0
 public static void PassInput(SumoInputs leftSide1, SumoInputs rightSide1, SumoInputs leftSide2, SumoInputs rightSide2)
 {
     passInputEvent(leftSide1, rightSide1, leftSide2, rightSide2);
 }
Esempio n. 4
0
    public void ReceiveInputs(SumoInputs leftSide1, SumoInputs rightSide1, SumoInputs leftSide2, SumoInputs rightSide2)
    {
        ArrayList sumoOneInputs        = new ArrayList();
        ArrayList sumoTwoInputs        = new ArrayList();
        int       startingSecondaryID1 = this.GetStartingSecondaryIDOne();
        int       startingSecondaryID2 = this.GetStartingSecondaryIDTwo();
        int       otherSecondaryID1    = this.GetOtherSecondaryIDOne();
        int       otherSecondaryID2    = this.GetOtherSecondaryIDTwo();

        if (sumoAsses[0].role == SumoRole.SECONDARY)
        {
            if (sumoAsses[0].sumoDudeNumber == 1)
            {
                sumoOneInputs.Add(leftSide1);
            }
            else
            {
                sumoTwoInputs.Add(leftSide1);
            }
            if (leftSide1.GetSwappedPrimary())
            {
                //swap sumo dudes
                if (sumoAsses[0].sumoDudeNumber == 1)
                {
                    sumoAsses[0].sumoDudeNumber = 2;
                    otherSecondaryID2           = sumoAsses[0].playerID;
                }
                else
                {
                    sumoAsses[0].sumoDudeNumber = 1;
                    startingSecondaryID1        = sumoAsses[0].playerID;
                }
            }
            sumoOneInputs.Insert(0, rightSide1);
        }
        else
        {
            if (sumoAsses[1].sumoDudeNumber == 1)
            {
                sumoOneInputs.Add(rightSide1);
            }
            else
            {
                sumoTwoInputs.Add(rightSide1);
            }
            if (rightSide1.GetSwappedPrimary())
            {
                if (sumoAsses[1].sumoDudeNumber == 1)
                {
                    sumoAsses[1].sumoDudeNumber = 2;
                    otherSecondaryID2           = sumoAsses[1].playerID;
                }
                else
                {
                    sumoAsses[1].sumoDudeNumber = 1;
                    startingSecondaryID1        = sumoAsses[1].playerID;
                }
            }
            sumoOneInputs.Insert(0, leftSide1);
        }

        if (sumoAsses[2].role == SumoRole.SECONDARY)
        {
            if (sumoAsses[2].sumoDudeNumber == 1)
            {
                sumoOneInputs.Add(leftSide2);
            }
            else
            {
                sumoTwoInputs.Add(leftSide2);
            }
            if (leftSide2.GetSwappedPrimary())
            {
                //swap sumo dudes
                if (sumoAsses[2].sumoDudeNumber == 1)
                {
                    sumoAsses[2].sumoDudeNumber = 2;
                    startingSecondaryID2        = sumoAsses[2].playerID;
                }
                else
                {
                    sumoAsses[2].sumoDudeNumber = 1;
                    otherSecondaryID1           = sumoAsses[2].playerID;
                }
            }
            sumoTwoInputs.Insert(0, rightSide2);
        }
        else
        {
            if (sumoAsses[3].sumoDudeNumber == 1)
            {
                sumoOneInputs.Add(rightSide2);
            }
            else
            {
                sumoTwoInputs.Add(rightSide2);
            }
            if (rightSide2.GetSwappedPrimary())
            {
                if (sumoAsses[3].sumoDudeNumber == 1)
                {
                    sumoAsses[3].sumoDudeNumber = 2;
                    startingSecondaryID2        = sumoAsses[3].playerID;
                }
                else
                {
                    sumoAsses[3].sumoDudeNumber = 1;
                    otherSecondaryID1           = sumoAsses[3].playerID;
                }
            }
            sumoTwoInputs.Insert(0, leftSide2);
        }

        sumos[0].SetupSecondaryDisplay(startingSecondaryID1, otherSecondaryID1);
        sumos[1].SetupSecondaryDisplay(startingSecondaryID2, otherSecondaryID2);
        if (isGameStarted)
        {
            sumos[0].ReceiveInputs(sumoOneInputs);
            sumos[1].ReceiveInputs(sumoTwoInputs);
        }
    }