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); }
public static void PassInput(SumoInputs leftSide1, SumoInputs rightSide1, SumoInputs leftSide2, SumoInputs rightSide2) { passInputEvent(leftSide1, rightSide1, leftSide2, rightSide2); }
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); } }