Inheritance: NetworkBehaviour
示例#1
0
        /// <summary>
        /// Returns the state of a specified button on a specified controller
        /// </summary>
        /// <param name="bttnInpt">ID of button to check against</param>
        /// <param name="plyrID">ID of corresponding player to check against</param>
        /// <returns></returns>
        public static bool GetButton(AbstractButtonInput bttnInpt, PlayerID plyrID = PlayerID.FIRST) {
            InputForm curInForm = GetCurrentState(plyrID);          // Current Input form

            if (GetButtonState(curInForm, AbstractToButtonID(bttnInpt)) == buttonState.PRESSED) { return true; }

            return false;
        }
	// Use this for initialization
	void Start () {
		if(MatchSummaryManager.playerInfo != null) {
			id = transform.root.GetComponent<CosmeticPlayer>().id;
			if(MatchSummaryManager.playerInfo.ContainsKey(id)) {
				switch(MatchSummaryManager.playerInfo[id]) {
					case 0:
						transform.GetChild(0).GetComponent<Image>().sprite = badge1_3;
						transform.GetChild(1).GetComponent<Image>().sprite = badge1_2;
						transform.GetChild(2).GetComponent<Image>().sprite = badge1_1;
						break;
					case 1:
						transform.GetChild(0).GetComponent<Image>().sprite = badge2_3;
						transform.GetChild(1).GetComponent<Image>().sprite = badge2_2;
						transform.GetChild(2).GetComponent<Image>().sprite = badge2_1;
						transform.localScale = Vector3.one*0.75f;
						break;
					default:
						transform.GetChild(0).GetComponent<Image>().sprite = badge3_3;
						transform.GetChild(1).GetComponent<Image>().sprite = badge3_2;
						transform.GetChild(2).GetComponent<Image>().sprite = badge3_1;
						transform.localScale = Vector3.one*0.5f;
						break;
				}
				close.id = id;
				up.id = id;
				down.id = id;
				infoText.text = StatisticManager.instance.statistics[id].InfoText;
				tagText.text = ProfileManager.instance.GetProfile(id).Name;
			}
		}
		transform.GetChild(0).localPosition = new Vector3(0,0,-3f);
		transform.GetChild(1).localPosition = new Vector3(0,0,-3f);
		transform.GetChild(2).localPosition = new Vector3(0,0,-3f);
		initialScale = transform.localScale;
	}
示例#3
0
        public Player(PlayerID _id)
        {
            lives = 4;
            id = _id;
            createLives(id);

            state = PlayerState.alive;

            emptySprite = (Sprite)DisplayManager.Instance().getDisplayObj(SpriteEnum.box);

            if (_id == PlayerID.one)
            {
                bombSprite = new Sprite(SpriteEnum.Bomb, 0, 0, 50, 50, true, 0,
                             ImageManager.Instance().getImage(ImageEnum.bluebomb1), false);
                missileType = GameObjType.p1missiles;
            }
            else
            {
                bombSprite = new Sprite(SpriteEnum.Bomb, 0, 0, 50, 50, true, 0,
                             ImageManager.Instance().getImage(ImageEnum.greenbomb1), false);
                missileType = GameObjType.p2missiles;
            }

            bombSpriteIndex = 5;
            numMissiles = 0;
        }
示例#4
0
	private bool IsCharacterAvailable(PlayerID pid) {
		switch(pid) {
		case PlayerID.One:
			if (player2Joined && (Mathf.Abs(player2SelectedCharacter%4) == Mathf.Abs(player1SelectedCharacter%4))) return false;
			else if (player3Joined && (Mathf.Abs(player3SelectedCharacter%4) == Mathf.Abs(player1SelectedCharacter%4))) return false;
			else if (player4Joined && (Mathf.Abs(player4SelectedCharacter%4) == Mathf.Abs(player1SelectedCharacter%4))) return false;
			else return true;
			break;
		case PlayerID.Two:
			if (player1Joined && (Mathf.Abs(player1SelectedCharacter%4) == Mathf.Abs(player2SelectedCharacter%4))) return false;
			else if (player3Joined && (Mathf.Abs(player3SelectedCharacter%4) == Mathf.Abs(player2SelectedCharacter%4))) return false;
			else if (player4Joined && (Mathf.Abs(player4SelectedCharacter%4) == Mathf.Abs(player2SelectedCharacter%4))) return false;
			else return true;
			break;
		case PlayerID.Three:
			if (player2Joined && (Mathf.Abs(player2SelectedCharacter%4) == Mathf.Abs(player3SelectedCharacter%4))) return false;
			else if (player1Joined && (Mathf.Abs(player1SelectedCharacter%4) == Mathf.Abs(player3SelectedCharacter%4))) return false;
			else if (player4Joined && (Mathf.Abs(player4SelectedCharacter%4) == Mathf.Abs(player3SelectedCharacter%4))) return false;
			else return true;
			break;
		case PlayerID.Four:
			if (player2Joined && (Mathf.Abs(player2SelectedCharacter%4) == Mathf.Abs(player4SelectedCharacter%4))) return false;
			else if (player3Joined && (Mathf.Abs(player3SelectedCharacter%4) == Mathf.Abs(player4SelectedCharacter%4))) return false;
			else if (player1Joined && (Mathf.Abs(player1SelectedCharacter%4) == Mathf.Abs(player4SelectedCharacter%4))) return false;
			else return true;
			break;
		}
		return false;
	}
	public static void MoveToNextLevel(PlayerID playerID)
	{
		if (LevelProgression != null)
		{
			LevelProgression(playerID);
		}
	}
示例#6
0
 public Player getPlayer(PlayerID _id)
 {
     if (_id == PlayerID.one)
         return p1;
     else
         return p2;
 }
示例#7
0
 public override void Effect(PlayerID hitPlayer)
 {
     //applies explosive force iff a player was hit
     if (hitPlayer != 0)
     {
         Player.Controller hitPlayerController = Data.GameManager.instance.GetPlayer(hitPlayer);
         hitPlayerController.GetComponent<Rigidbody>().AddExplosionForce(HeavyKnockbackForce, transform.position, HeavyKnockbackRadius);
     }
 }
示例#8
0
		public override void Effect(PlayerID hitPlayer)
		{
			// If a player was hit
			if (hitPlayer != 0)
			{
				base.Effect(hitPlayer);
				spawnedReference.GetComponent<VirusAttack>().UpdatePlayerInfo(fromPlayer, hitPlayer);
			}
		}
示例#9
0
 /// <summary>
 /// Initializes the arrow by adding all the necesary components.
 /// </summary>
 /// <param name="types">The types of arrow components to be added. Comes from the different tokens the player has collected.</param>
 /// <param name="fromPlayer">ID of the player shooting the arrow.</param>
 public void InitArrow(int types, PlayerID fromPlayer)
 {
     // Update the player info
     this.fromPlayer = fromPlayer;
     // Initializing this arrow
     GenerateArrowProperties(types);
     // Call the init event for all arrow componenets
     if (Init != null) Init();
 }
示例#10
0
        public static bool GetCombo(string cmbName, PlayerID plyrID) {

            Move cachedMove;
            if (moveDictonary.TryGetValue(cmbName, out cachedMove)) {
                if (CheckCombo(cachedMove, ref lastComboTime[(int)plyrID], ref cachedMove.lastIndex, plyrID)) { return true; }
            }

            return false;
        }
示例#11
0
 /// <summary>
 /// Override the ArrowProperty effect to add the acid effect to the player that was hit
 /// </summary>
 /// <param name="hitPlayer">This is the player ID of the player that was hit or 0 if no player was hit</param>
 public override void Effect(PlayerID hitPlayer)
 {
     // If a player was hit
     if (hitPlayer != 0)
     {
         // Add the attack component to the player that was hit and let the effect know who it came from
         AcidAttack a = Data.GameManager.instance.AllPlayers.Find(x => x.ID.Equals(hitPlayer)).gameObject.AddComponent<AcidAttack>();
         a.UpdatePlayerInfo(fromPlayer, hitPlayer);
     }
 }
        public override void Effect(PlayerID hitPlayer)
        {
            //applies knockback force iff a player was hit
            if (hitPlayer != 0)
            {
                Player.Controller hitPlayerController = Data.GameManager.instance.GetPlayer(hitPlayer);
                //hitPlayerController.GetComponent<Rigidbody>().AddExplosionForce(HeavyKnockbackForce, transform.position, HeavyKnockbackRadius);
				hitPlayerController.GetComponent<Rigidbody>().AddForce(Vector3.Normalize(transform.forward) * DELTA_V, ForceMode.VelocityChange);
            }
        }
        public override void Effect(PlayerID hitPlayer)
        {
            // If the prefab is not null
            if (spawnEffect != null)
            {
                GameObject g = (GameObject)Instantiate(spawnEffect, colInfo.HitPosition, colInfo.HitRotation);
				spawnedReference = g;
            }
            else Debug.Log("Arrow of type: " + type.ToString() + " could not load an effect");
        }
示例#14
0
文件: Life.cs 项目: imtn/Rangers
        /// <summary>
        /// Modifies a player's heath
        /// </summary>
        /// <param name="delta">The amound to change (should be negative for damage)</param>
        /// <param name="id">The player who dealt the damage</param>
        public void ModifyHealth(float delta, PlayerID id = PlayerID.None)
        {
			if(id != PlayerID.None) lastAttacker = id;
            if (health > 0)
            {
                health = Mathf.Clamp((health + delta), 0, MAX_HEALTH);
				if (health <= 0) Die();
                //controller.InvincibleFrames = Controller.INVINCIBLE_FRAMES;
            }
        }
示例#15
0
        /// <summary>
        /// Returns true during the frame the user releases the button
        /// </summary>
        /// <param name="bttnInpt">ID of button to check against</param>
        /// <param name="plyrID">ID of corresponding player to check against</param>
        /// <returns></returns>
        public static bool GetButtonUp(AbstractButtonInput bttnInpt, PlayerID plyrID = PlayerID.FIRST) {
            InputForm curInForm = GetCurrentState(plyrID);
            InputForm prevInForm = GetPreviousState(plyrID);

            if ((GetButtonState(curInForm, AbstractToButtonID(bttnInpt)) == buttonState.RELEASED) &&
                    (GetButtonState(prevInForm, AbstractToButtonID(bttnInpt)) == buttonState.PRESSED)) {
                return true;
            }

            return false;
        }
示例#16
0
		public override void Effect(PlayerID hitPlayer)
		{
			// If a player was hit
			if (hitPlayer != 0)
			{

				Controller sourceController = GameManager.instance.GetPlayer(fromPlayer);
				float damage = GetComponent<ArrowController>().Damage;
				sourceController.LifeComponent.ModifyHealth(damage);
			}
		}
示例#17
0
	// Use this for initialization
	void Start () {
		//gets playerID from parent
		pid = transform.root.GetComponent<Controller>().ID;

		//creates copy and disables
		copy = (GameObject)GameObject.Instantiate(this.gameObject,transform.position,transform.rotation);
		Destroy(copy.GetComponent<RobotBodyPart>());
		rb = copy.AddComponent<Rigidbody>();
		bc = copy.AddComponent<BoxCollider>();
		copy.gameObject.SetActive(false);
	}
示例#18
0
    public InputSet(PlayerID id)
    {
        string playerSuffix = "P1";
        if (id == PlayerID.P2)
            playerSuffix = "P2";

        horizontalAxis = "Horizontal_" + playerSuffix;
        fire = "Fire_" + playerSuffix;
        altFire = "AltFire_" + playerSuffix;
        jump = "Jump_" + playerSuffix;
    }
示例#19
0
文件: Life.cs 项目: dvalles/Rangers
 /// <summary>
 /// Modifies a player's heath
 /// </summary>
 /// <param name="delta">The amound to change (should be negative for damage)</param>
 /// <param name="id">The player who dealt the damage</param>
 public void ModifyHealth(float delta, PlayerID id = PlayerID.None)
 {
     //if (controller.Invincible && delta < 0) return;
     if (health > 0)
     {
         health = Mathf.Clamp((health + delta), 0, MAX_HEALTH);
         Debug.Log("Health: " + health);
         if (health <= 0) Die(id);
         //controller.InvincibleFrames = Controller.INVINCIBLE_FRAMES;
     }
 }
示例#20
0
	// Update is called once per frame
	public void Configure (PlayerID data, int playerCount) {
		if (playerController == null) playerController = GetComponent<FirstPersonController>();
		if (camera == null) camera = GetComponentInChildren<Camera>();

		playerController.playerID = data;

		playerController.init();

		ConfigureCamera(playerCount);

	}
示例#21
0
        public void hit(PlayerID _id)
        {
            PlayerManager.Instance().getPlayer(_id).state = PlayerState.dead;

            TimeSpan currentTime = Timer.GetCurrentTime();
            TimeSpan t_1 = currentTime.Add(new TimeSpan(0, 0, 0, 0, 600));
            CallBackData nodeData = new CallBackData(3, TimeSpan.Zero);
            nodeData.playerID = _id;

            Timer.Add(t_1, nodeData, PlayerManager.Instance().respawn);
        }
示例#22
0
        public BombData getNextBomb(PlayerID _id)
        {
            BombData outData = new BombData();

            if (_id == PlayerID.one)
                outData = getP1BombSprite();
            else
                outData = getP2BombSprite();

            return outData;
        }
        public bool Initialize(string gameFilename, List<PlayerInfo> players, Dictionary<string, GameOption> options, List<Control> addSteps, int titleHeight)
        {
            this.executablePlace = gameFilename;
            this.players = players;
            this.options = options;
            this.titleHeight = titleHeight - 5;

            originalSize = FormUtil.MainForm.Size;

            delayTime = (int)options["delay"].Value * 1000;
            instances = (bool)options["instance"].Value;
            keyboardId = (PlayerID)options["keyboard"].Value;

            if (!instances)
            {
                MessageBox.Show("For now you cannot innitialize Left 4 Dead 2 without the instances property set to true. Changing...");
                instances = true;
            }

            levelCommand = ((Left4Dead2LevelSelection)addSteps[0]).LevelName;
            gameMode = ((Left4Dead2ModeSelection)addSteps[1]).ModeCommand;

            // Search for video file
            string exeFolder = Path.GetDirectoryName(executablePlace);
            binFolder = Path.Combine(exeFolder, "bin");
            string l4d2 = Path.Combine(exeFolder, "left4dead2");
            pak01_000_path = l4d2 + "\\pak01_000.vpk";
            backupPak = Path.Combine(exeFolder, BackupFolder) + "\\pak01_000.vpk";
            string cfgFolder = Path.Combine(exeFolder, CFGFolder);
            autoExec = cfgFolder + "\\autoexec.cfg";
            makeSplit = cfgFolder + "\\makesplit.cfg";
            videoFile = cfgFolder + "\\video.txt";

            if (!File.Exists(videoFile))
            {
                MessageBox.Show("Could not find Video.txt file! Should be on '" + CFGFolder + "'");

                using (OpenFileDialog open = new OpenFileDialog())
                {
                    open.Filter = "Video.txt file|Video.txt";
                    if (open.ShowDialog() == DialogResult.OK)
                    {
                        videoFile = open.FileName;
                    }
                    else
                    {
                        return false;
                    }
                }
            }

            return true;
        }
示例#24
0
        protected PlayerID pID; // Spelar ID, håller kolla på vilken spelaren som charne e skapad för.

        #endregion Fields

        #region Constructors

        // Constructor
        public Unit_Controls( Vector2 pos, Vector2 vel, Vector2 acc, PlayerID pID )
            : base(pos, vel, acc)
        {
            this.pID = pID; // Spelar ID, håller kolla på vilken spelaren som charne e skapad för.
            controlKeys = KeyMouse.Get_PlayerControlKeys( pID ); // Hämtar korrekta styrknappar baserat på spelar ID.
            if( pID == PlayerID.P1 )
                dir = Direction.RIGHT;
            else
                dir = Direction.LEFT;

            Event.KeyPressed += KeyPressed_Check; // Ansluter "KeyPressed_Check" metoden mot "KeyPressed" eventets subscribe-lista (dvs den "lista" med metoder som körs när eventet triggas).
        }
 public override void Effect(PlayerID hitPlayer)
  {
      if (hitPlayer == PlayerID.None)
      {
          Data.GameManager.instance.AllPlayers.Find(x => x.ID.Equals(fromPlayer)).gameObject.transform.position = transform.position;
      } else
      {
          Vector3 holder = Data.GameManager.instance.AllPlayers.Find(x => x.ID.Equals(hitPlayer)).gameObject.transform.position;
          Data.GameManager.instance.AllPlayers.Find(x => x.ID.Equals(hitPlayer)).gameObject.transform.position = Data.GameManager.instance.AllPlayers.Find(x => x.ID.Equals(fromPlayer)).gameObject.transform.position;
          Data.GameManager.instance.AllPlayers.Find(x => x.ID.Equals(fromPlayer)).gameObject.transform.position = holder;
      }            
  }
示例#26
0
 // Variable(s)
 // Constructor
 public Unit_Char( Vector2 pos, Vector2 vel, Vector2 acc, PlayerID pID )
     : base(pos, vel, acc, pID)
 {
     tex = Textures.Texture_Bobble;
     currentFrame = 0;
     nrOfFrames = 8;
     source = new Rectangle(currentFrame * tex.Width / nrOfFrames, 0, tex.Width / nrOfFrames, tex.Height);
     //OnTerraFirma = true;
     // Sätter hitboxen så att den endast hamnar vid benen på gubben, som gör att inte hela texturen kolliderar med plattform
     hitBox = new Rectangle((int)pos.X, (int)pos.Y, source.Width, source.Height - 24);
     hitBox.Y = hitBox.Y + 25;
 }
示例#27
0
文件: Life.cs 项目: dvalles/Rangers
 // Handles when players die
 private void Die(PlayerID lastID = PlayerID.None)
 {
     lastAttacker = lastID;
     controller.Disable();
     if (--lives > 0)
     {
         Debug.Log("Lives: " + lives);
         // Tell GameManager to setup respawn
         GameManager.instance.Respawn(controller.ID);
     }
     GameManager.instance.PlayerKilled(controller.ID, lastAttacker);
 }
示例#28
0
	/// <summary>
	/// Removes the profile with the specified player ID.
	/// </summary>
	/// <param name="id">The ID of the player to remove.</param>
	public void RemoveProfile(PlayerID id) {
		loadedProfiles.Remove(id);
		int numSignedIn = NumSignedIn();
		if ((int)id <= numSignedIn) {
			// Shift all players after the removed player back one place.
			for (int i = (int)id + 1; i <= numSignedIn + 1; i++) {
				PlayerID currentID = (PlayerID)i;
				ProfileData data = GetProfile(currentID);
				loadedProfiles.Remove(currentID);
				AddProfile(data, (PlayerID)(i - 1));
			}
		}
	}
		public static float GetAxis(string name, PlayerID playerID = PlayerID.One)
		{
			AxisConfiguration axisConfig = GetAxisConfiguration(playerID, name);
			if(axisConfig != null)
			{
				return axisConfig.GetAxis();
			}
			else
			{
//				Debug.LogError(string.Format("An axis named \'{0}\' does not exist in the active input configuration for player {1}", name, playerID));
				return 0.0f;
			}
		}
示例#30
0
 /* Kontrollerar det medskickade PlayerID, från Unit_Control klassen...
     ...och returnerar korrekt key-array baserat på "värdet" på PlayerID. */
 public static Keys[] Get_PlayerControlKeys( PlayerID pID )
 {
     if( pID == PlayerID.P1 )
     {
         Keys[] k = { Keys.Up, Keys.Right, Keys.Down, Keys.Left };
         return k;
     }
     else
     {
         Keys[] k = { Keys.W, Keys.D, Keys.S, Keys.A };
         return k;
     }
 }
示例#31
0
 public static InputConfiguration GetInputConfiguration(PlayerID playerID)
 {
     return(_instance.GetInputConfigurationByPlayerID(playerID));
 }
示例#32
0
 /// <summary>
 /// Sets the owner of the object for handling who killed who
 /// </summary>
 /// <param name="owner">Owner.</param>
 public void Owner(PlayerID owner)
 {
     this.owner       = owner;
     transform.parent = LevelManager.instance.playerDict[owner].transform;
 }
示例#33
0
 public void RespawnPlayer(PlayerID playerID)
 {
     StartCoroutine(RespawnPlayerCo(playerID));
 }
示例#34
0
 public IDictionary <PlayerAction, string> GetControlSettings(PlayerID player)
 {
     //TODO: implement
     return(new Dictionary <PlayerAction, string>());
 }
 public static void WritePlayerID(this PacketWriter writer, PlayerID clientId)
 {
     writer.WriteUInt64((uint)clientId);
 }
示例#36
0
        void ISpatialAnchorService.RegisterTuner(ISpatialAnchorTuner tuner, object args)
        {
            PlayerID playerID = _networkSystem.ResolvePlayerID(args);

            _anchorSystem.RegisterTuner(tuner, playerID);
        }
示例#37
0
 private bool IsEqual(GKPlayer other)
 {
     return(PlayerID.Equals(other.PlayerID));
 }
示例#38
0
 /// <summary>
 /// Returns true if any axis of the input configuration is receiving input.
 /// </summary>
 public static bool AnyInput(PlayerID playerID)
 {
     return(AnyInput(_instance.GetInputConfigurationByPlayerID(playerID)));
 }
示例#39
0
    // Update is called once per frame
    void Update()
    {
        if (ControllerManager.instance.NumPlayers < (int)id)
        {
            return;
        }
        if (id == PlayerID.None)
        {
            if (!uiImage)
            {
                GetComponent <SpriteRenderer>().sprite = null;
            }

            prevControlType = ControllerManager.ControlType.None;
        }
        if (prevID == id && prevControlType == ControllerManager.instance.PlayerControlType(id))
        {
            return;
        }

        prevID          = id;
        prevControlType = ControllerManager.instance.PlayerControlType(id);

        switch (type)
        {
        case Type.Axis:
            switch (axis)
            {
            case ControllerInputWrapper.Axis.DPadX:
                switch (ControllerManager.instance.PlayerControlType(id))
                {
                case ControllerManager.ControlType.Keyboard:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.KEY_LEFTRIGHT;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.KEY_LEFTRIGHT;
                    }
                    break;

                case ControllerManager.ControlType.Xbox:
                case ControllerManager.ControlType.PS4:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.DPAD_LEFTRIGHT;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.DPAD_LEFTRIGHT;
                    }
                    break;
                }
                break;

            case ControllerInputWrapper.Axis.DPadY:

                break;

            case ControllerInputWrapper.Axis.LeftStickX:

                break;

            case ControllerInputWrapper.Axis.LeftStickY:
                switch (ControllerManager.instance.PlayerControlType(id))
                {
                case ControllerManager.ControlType.Keyboard:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.KEY_UPDOWNLEFTRIGHT;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.KEY_UPDOWNLEFTRIGHT;
                    }
                    break;

                case ControllerManager.ControlType.Xbox:
                case ControllerManager.ControlType.PS4:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.JOYLEFT;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.JOYLEFT;
                    }
                    break;
                }
                break;

            case ControllerInputWrapper.Axis.RightStickX:

                break;

            case ControllerInputWrapper.Axis.RightStickY:

                break;
            }
            break;

        case Type.Button:
            switch (button)
            {
            case ControllerInputWrapper.Buttons.A:
                switch (ControllerManager.instance.PlayerControlType(id))
                {
                case ControllerManager.ControlType.Keyboard:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.KEY_A;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.KEY_A;
                    }
                    break;

                case ControllerManager.ControlType.Xbox:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.XBOX_A;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.XBOX_A;
                    }
                    break;

                case ControllerManager.ControlType.PS4:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.PS4_A;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.PS4_A;
                    }
                    break;
                }
                break;

            case ControllerInputWrapper.Buttons.B:
                switch (ControllerManager.instance.PlayerControlType(id))
                {
                case ControllerManager.ControlType.Keyboard:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.KEY_B;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.KEY_B;
                    }
                    break;

                case ControllerManager.ControlType.Xbox:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.XBOX_B;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.XBOX_B;
                    }
                    break;

                case ControllerManager.ControlType.PS4:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.PS4_B;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.PS4_B;
                    }
                    break;
                }
                break;

            case ControllerInputWrapper.Buttons.LeftStickClick:
                switch (ControllerManager.instance.PlayerControlType(id))
                {
                case ControllerManager.ControlType.Keyboard:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.KEY_L_JOY_CLICK;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.KEY_L_JOY_CLICK;
                    }
                    break;

                case ControllerManager.ControlType.PS4:
                case ControllerManager.ControlType.Xbox:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.L_JOY_CLICK;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.L_JOY_CLICK;
                    }
                    break;
                }
                break;

            case ControllerInputWrapper.Buttons.RightBumper:
                switch (ControllerManager.instance.PlayerControlType(id))
                {
                case ControllerManager.ControlType.Keyboard:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.KEY_RB;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.KEY_RB;
                    }
                    break;

                case ControllerManager.ControlType.PS4:
                case ControllerManager.ControlType.Xbox:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.RB;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.RB;
                    }
                    break;
                }
                break;

            case ControllerInputWrapper.Buttons.LeftBumper:
                switch (ControllerManager.instance.PlayerControlType(id))
                {
                case ControllerManager.ControlType.Keyboard:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.KEY_LB;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.KEY_LB;
                    }
                    break;

                case ControllerManager.ControlType.PS4:
                case ControllerManager.ControlType.Xbox:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.LB;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.LB;
                    }
                    break;
                }
                break;

            case ControllerInputWrapper.Buttons.RightStickClick:
                switch (ControllerManager.instance.PlayerControlType(id))
                {
                case ControllerManager.ControlType.Keyboard:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.KEY_R_JOY_CLICK;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.KEY_R_JOY_CLICK;
                    }
                    break;

                case ControllerManager.ControlType.PS4:
                case ControllerManager.ControlType.Xbox:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.R_JOY_CLICK;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.R_JOY_CLICK;
                    }
                    break;
                }
                break;

            case ControllerInputWrapper.Buttons.Start:
                switch (ControllerManager.instance.PlayerControlType(id))
                {
                case ControllerManager.ControlType.Keyboard:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.KEY_START;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.KEY_START;
                    }
                    break;

                case ControllerManager.ControlType.Xbox:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.XBOX_START;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.XBOX_START;
                    }
                    break;

                case ControllerManager.ControlType.PS4:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.PS4_START;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.PS4_START;
                    }
                    break;
                }
                break;

            case ControllerInputWrapper.Buttons.X:
                switch (ControllerManager.instance.PlayerControlType(id))
                {
                case ControllerManager.ControlType.Keyboard:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.KEY_X;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.KEY_X;
                    }
                    break;

                case ControllerManager.ControlType.Xbox:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.XBOX_X;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.XBOX_X;
                    }
                    break;

                case ControllerManager.ControlType.PS4:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.PS4_X;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.PS4_X;
                    }
                    break;
                }
                break;

            case ControllerInputWrapper.Buttons.Y:
                switch (ControllerManager.instance.PlayerControlType(id))
                {
                case ControllerManager.ControlType.Keyboard:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.KEY_Y;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.KEY_Y;
                    }
                    break;

                case ControllerManager.ControlType.Xbox:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.XBOX_Y;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.XBOX_Y;
                    }
                    break;

                case ControllerManager.ControlType.PS4:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.PS4_Y;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.PS4_Y;
                    }
                    break;
                }
                break;

            case ControllerInputWrapper.Buttons.Back:
                switch (ControllerManager.instance.PlayerControlType(id))
                {
                case ControllerManager.ControlType.Keyboard:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.KEY_BACK;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.KEY_BACK;
                    }
                    break;

                case ControllerManager.ControlType.Xbox:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.XBOX_BACK;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.XBOX_BACK;
                    }
                    break;

                case ControllerManager.ControlType.PS4:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.PS4_BACK;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.PS4_BACK;
                    }
                    break;
                }
                break;
            }
            break;

        case Type.Trigger:
            switch (trigger)
            {
            case ControllerInputWrapper.Triggers.RightTrigger:
                switch (ControllerManager.instance.PlayerControlType(id))
                {
                case ControllerManager.ControlType.Keyboard:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.KEY_RT;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.KEY_RT;
                    }
                    break;

                case ControllerManager.ControlType.Xbox:
                case ControllerManager.ControlType.PS4:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.RT;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.RT;
                    }
                    break;
                }
                break;

            case ControllerInputWrapper.Triggers.LeftTrigger:
                switch (ControllerManager.instance.PlayerControlType(id))
                {
                case ControllerManager.ControlType.Keyboard:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.KEY_LT;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.KEY_LT;
                    }
                    break;

                case ControllerManager.ControlType.Xbox:
                case ControllerManager.ControlType.PS4:
                    if (uiImage)
                    {
                        GetComponent <Image>().sprite = InputTester.instance.LT;
                    }
                    else
                    {
                        GetComponent <SpriteRenderer>().sprite = InputTester.instance.LT;
                    }
                    break;
                }
                break;
            }
            break;

        case Type.DPAD:
            switch (ControllerManager.instance.PlayerControlType(id))
            {
            case ControllerManager.ControlType.Keyboard:
                if (uiImage)
                {
                    GetComponent <Image>().sprite = InputTester.instance.KEY_UPDOWNLEFTRIGHT;
                }
                else
                {
                    GetComponent <SpriteRenderer>().sprite = InputTester.instance.KEY_UPDOWNLEFTRIGHT;
                }
                break;

            case ControllerManager.ControlType.PS4:
            case ControllerManager.ControlType.Xbox:
                if (uiImage)
                {
                    GetComponent <Image>().sprite = InputTester.instance.DPAD_LEFTRIGHTUPDOWN;
                }
                else
                {
                    GetComponent <SpriteRenderer>().sprite = InputTester.instance.DPAD_LEFTRIGHTUPDOWN;
                }
                break;
            }
            break;
        }
    }
示例#40
0
 public float GetProgressPercentByPlayer(PlayerID pID)
 {
     return(m_players_race_flag[pID] / RACE_LOAD_LENGTH);
 }
示例#41
0
 private void OnPlayerControlChanged(PlayerID id)
 {
     CheckInputScheme();
 }
 public void SetPlayerID(PlayerID newID)
 {
     playerID = newID;
 }
示例#43
0
    public void Throw(Vector2 direction, float speed, PlayerID shooterID)
    {
        rb.velocity = direction * speed;

        this.shooterID = shooterID;
    }
示例#44
0
 public void Owner(PlayerID owner)
 {
     this.owner = owner;
 }
示例#45
0
 ISpatialAnchor ISpatialAnchorService.GetOrCreateAnchor(PlayerID playerID) => _anchorSystem.GetOrCreateAnchor(playerID);
示例#46
0
        public InputEvent CreateButtonEvent(string name, string buttonName, InputState inputState, PlayerID playerID = PlayerID.One)
        {
            if (!m_eventLookup.ContainsKey(name))
            {
                InputEvent evt = new InputEvent(name)
                {
                    ActionName = buttonName,
                    EventType  = InputEventType.Button,
                    InputState = inputState,
                    PlayerID   = playerID
                };

                m_inputEvents.Add(evt);
                m_eventLookup.Add(name, evt);
                return(evt);
            }
            else
            {
                Debug.LogError(string.Format("An input event named {0} already exists", name), this);
                return(null);
            }
        }
示例#47
0
 public void SetControlSetting(PlayerID player, PlayerAction action)
 {
     //TODO: implement
     //intercept key
 }
示例#48
0
 public PlayerAlive(PlayerID id, bool l)
 {
     playerid = id;
     alive    = l;
 }
示例#49
0
        bool CheckWinner(int r, int c, PlayerID id)
        {
            var num = 0;

            if (id == player)
            {
                num = 1;
            }
            else
            {
                num = -1;
            }
            Rows[r]    += num;
            Columns[c] += num;
            if (r == 0 && c == 0)
            {
                Diags[0] += num;
            }
            else if (r == 0 && c == 2)
            {
                Diags[1] += num;
            }
            else if (r == 2 && c == 0)
            {
                Diags[1] += num;
            }
            else if (r == 2 && c == 2)
            {
                Diags[0] += num;
            }
            else if (r == 1 && c == 1)
            {
                Diags[0] += num;
                Diags[1] += num;
            }
            foreach (int score in Rows)
            {
                if (score == 3)
                {
                    winner = player;
                }
                else if (score == -3)
                {
                    winner = opponent;
                }
            }
            foreach (int score in Columns)
            {
                if (score == 3)
                {
                    winner = player;
                }
                else if (score == -3)
                {
                    winner = opponent;
                }
            }
            foreach (int score in Diags)
            {
                if (score == 3)
                {
                    winner = player;
                }
                else if (score == -3)
                {
                    winner = opponent;
                }
            }
            if (winner == PlayerID.None)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
示例#50
0
 public override void Effect(PlayerID hitPlayer)
 {
 }
示例#51
0
 protected bool Equals(DeviceInfo other)
 {
     return(PlayerID.Equals(other.PlayerID) &&
            LastErrTime.Equals(other.LastErrTime) &&
            LastWarnTime.Equals(other.LastWarnTime));
 }
示例#52
0
 public void Owner(PlayerID owner)
 {
 }
示例#53
0
    private void Update()
    {
        if (hasStartedGame)
        {
            countDownCount -= Time.deltaTime;
            if (countDownText.enabled == true)
            {
                countDownText.text = " " + ((int)countDownCount + 1);
            }
            else
            {
                roundCountDownText.text = " " + ((int)countDownCount + 1);
            }

            if (countDownCount <= 0)
            {
                if (hasStartedRoundCountdown)
                {
                    PlayerID        winningID     = PlayerID.one;
                    List <PlayerID> winningIDList = new List <PlayerID>();

                    int  highestLives = PlayerManager.vehiclesInScene[0].GetComponent <PlayerHealth>().LivesRemaining;
                    bool hasMatch     = false;
                    for (int i = 0; i < PlayerManager.vehiclesInScene.Length; i++)
                    {
                        PlayerHealth  currentPlayerHealth  = PlayerManager.vehiclesInScene[i].GetComponent <PlayerHealth>();
                        CarController currentCarController = PlayerManager.vehiclesInScene[i].GetComponent <CarController>();

                        if (currentPlayerHealth.LivesRemaining == highestLives)
                        {
                            hasMatch = true;
                            winningIDList.Add(currentCarController._PlayerID);
                        }
                        if (currentPlayerHealth.LivesRemaining > highestLives)
                        {
                            winningID = currentCarController._PlayerID;
                            winningIDList.Clear();
                            winningIDList.Add(currentCarController._PlayerID);
                            hasMatch = false;
                        }
                    }
                    if (hasMatch)
                    {
                        EndGame(winningIDList.ToArray());
                    }
                    else
                    {
                        EndGame(winningID);
                    }
                    hasStartedRoundCountdown = false;
                    countDownCount           = gameCountDownTime;
                }
                if (!hasStartedRoundCountdown)
                {
                    for (int i = 0; i < PlayerManager.vehiclesInScene.Length; i++)
                    {
                        PlayerManager.vehiclesInScene[i].GetComponent <Rigidbody>().isKinematic = false;
                    }
                    hasStartedRoundCountdown = true;
                    countDownCount           = gameCountDownTime;
                    countDownText.enabled    = false;
                }
            }
        }
    }
示例#54
0
 public static float GetAxis(string inputName, PlayerID playerId)
 {
     return(Input.GetAxis(inputName + '_' + playerId.ToString()));
 }
示例#55
0
 public void EndGame(PlayerID winningPlayerID)
 {
     winningPlayerText.text += winningPlayerID;
     endRoundPanel.SetActive(true);
     StartCoroutine(WaitToStartGame());
 }
示例#56
0
 /// Runs when arrow hits or passes through something as applicable
 public abstract void Effect(PlayerID hitPlayer);
示例#57
0
 /// <summary>
 /// Returns true if any axis of the control scheme is receiving input.
 /// </summary>
 public static bool AnyInput(PlayerID playerID)
 {
     return(AnyInput(m_instance.GetControlSchemeByPlayerID(playerID)));
 }
示例#58
0
 public static ControlScheme GetControlScheme(PlayerID playerID)
 {
     return(m_instance.GetControlSchemeByPlayerID(playerID));
 }
示例#59
0
 public void SetProgressPercentByPlayer(PlayerID pID, float progress_percent)
 {
     m_players_race_flag[pID] = progress_percent * 100;
 }
示例#60
0
 public void SetupPaddle(PlayerID playerID, Color color)
 {
     this.playerID = playerID;
     gameObject.GetComponent <SpriteRenderer>().color = color;
 }