Пример #1
0
 void OnTriggerEnter2D(Collider2D other)
 {
     if (other.CompareTag("Player"))
     {
         In  = true;
         box = other.gameObject.GetComponent <PlayerBox>();
     }
 }
Пример #2
0
    public void ReplacePlayerBox(PlayerBox newBoxObject)
    {
        var index     = GameComponentsLookup.PlayerBox;
        var component = CreateComponent <PlayerBoxComponent>(index);

        component.BoxObject = newBoxObject;
        ReplaceComponent(index, component);
    }
Пример #3
0
    // Update is called once per frame
    void Update()
    {
        //TODO: Assign control scheme to player box

        //Set true or not
        for (int i = 0; i < 4; i++)
        {
            //Input checks
            if (Input.GetKeyDown(CharacterHolder.keyboardControls[i].jump))
            {
                //Assign keyboard controls to a player slot
                if (!controlSchemesInUse[i])
                {
                    int slot = NextAvailableSlot();
                    if (slot != 4)
                    {
                        controlSchemesInUse[i]            = true;
                        playerBoxes[slot].active          = true;
                        playerBoxes[slot].usingKeyboard   = true;
                        playerBoxes[slot].controlSchemeID = i;
                        playerBoxes[slot].colorID         = NextAvailableColor();
                        colorsInUse[NextAvailableColor()] = true;
                    }
                }
            }
            else if (Input.GetKeyDown(CharacterHolder.keyboardControls[i].paint))
            {
                PlayerBox box = null;
                foreach (PlayerBox temp in playerBoxes)
                {
                    if (temp.active && temp.controlSchemeID == i)
                    {
                        box = temp;
                    }
                }
                if (box != null)
                {
                    colorsInUse[box.colorID] = false;
                    box.colorID       = -1;
                    box.usingKeyboard = false;
                    box.active        = false;
                }
                controlSchemesInUse[i] = false;
            }
        }

        foreach (Image img in keyboardIcons)
        {
            img.color = Color.white;
        }
        foreach (PlayerBox box in playerBoxes)
        {
            if (box.active)
            {
                keyboardIcons[box.controlSchemeID].color = Color.grey;
            }
        }
    }
Пример #4
0
 private void OnTriggerStay(Collider other) //03.07
 {
     if (other.tag == "Gas")                // 독가스에 맞을 시 체력 감소 및 판넬 On
     {
         if (player == Player_number)
         {
             Gas.SetActive(true);
             GasDamDelay += Time.deltaTime;
             if (GasDamDelay > 1)
             {
                 hp         -= GasDam;
                 GasDamDelay = 0;
             }
         }
     }
     if (player == Player_number)
     {
         if (other.tag == "PlayerBox") // 적 플레이어 사망후 남는 시체상자를 채집
         {
             if (Input.GetMouseButtonUp(0) && Mode == 0)
             {
                 Atk = true;
                 transform.GetComponent <AudioSource>().clip = AttackSound;
                 transform.GetComponent <AudioSource>().Play();
                 PlayerBox PB = other.transform.GetComponent <PlayerBox>();
                 if (PB != null)
                 {
                     ParticleSystem PCS = Instantiate(PS.gameObject).GetComponent <ParticleSystem>();
                     PCS.transform.position = new Vector3(other.transform.position.x, transform.position.y + 0.2f, other.transform.position.z);
                     PCS.transform.LookAt(transform);
                     PCS.Play();
                     PB.ondie(Player_number);
                 }
                 CreateDelay = 0;
             }
         }
         if (other.tag == "SupplyBox") // 게임 도중 떨어지는 보급상자를 채집
         {
             if (Input.GetMouseButtonUp(0) && Mode == 0)
             {
                 Atk = true;
                 transform.GetComponent <AudioSource>().clip = AttackSound;
                 transform.GetComponent <AudioSource>().Play();
                 SupplyBox SB = other.GetComponent <SupplyBox>();
                 if (SB != null)
                 {
                     ParticleSystem PCS = Instantiate(PS.gameObject).GetComponent <ParticleSystem>();
                     PCS.transform.position = new Vector3(other.transform.position.x, transform.position.y + 0.2f, other.transform.position.z);
                     PCS.transform.LookAt(transform);
                     PCS.Play();
                     SB.onDemage(Player_number);
                 }
                 CreateDelay = 0;
             }
         }
     }
 }
Пример #5
0
 private void InitialState()
 {
     RegisterUserButton.Enabled = true;
     JoinGameButton.Enabled     = false;
     QuitGameButton.Enabled     = false;
     PlayerBox.Enabled          = true;
     ServerBox.Enabled          = true;
     TimeBox.Enabled            = false;
     WordBox.Enabled            = false;
     Waiting.Visible            = false;
     PlayerBox.Focus();
 }
Пример #6
0
 public void UpdatePlayerListInvoke(Player[] players, int playerTurn, Player me)
 {
     if (PlayerBox.InvokeRequired)
     {
         PlayerBox.Invoke(new MethodInvoker(delegate {
             UpdatePlayerList(players, playerTurn, me);
         }));
     }
     else
     {
         UpdatePlayerList(players, playerTurn, me);
     }
 }
Пример #7
0
 private void OnTriggerStay2D(Collider2D other)
 {
     if (other.gameObject.tag == "Player" && Input.GetButton("Jump") && jumpReleased)
     {
         PlayerBox playerBox = other.gameObject.GetComponent <PlayerBox>();
         if (!playerBox.inBox)
         {
             // player wants to enter the box
             playerBox.EnterBox(gameObject);
             // destroy this box
             Destroy(gameObject);
         }
     }
 }
Пример #8
0
    /// <summary>
    /// 刷新玩家列表
    /// </summary>
    /// <param name="pack"></param>
    public void UpdatePlayerList(MainPack pack)
    {
        for (int i = 0; i < playerMessageTF.childCount; i++)
        {
            Destroy(playerMessageTF.GetChild(i).gameObject);
        }

        foreach (PlayerPack player in pack.PlayerPack)
        {
            if (PlayerPrefs.GetString("username").Equals(player.PlayerName))
            {
                PlayerPrefs.SetString("id", pack.PlayerPack.IndexOf(player).ToString());
            }
            PlayerBox playerMessage = Instantiate(playerMessagePrefab, Vector3.zero, Quaternion.identity).GetComponent <PlayerBox>();
            playerMessage.gameObject.transform.SetParent(playerMessageTF);
            playerMessage.playerNameStr = player.PlayerName;
            //Useritem useritem = Instantiate(UserItemobj, Vector3.zero, Quaternion.identity).GetComponent<Useritem>();
            //useritem.gameObject.transform.SetParent(content);
            //useritem.SetPlayerInFo(player.Playername);
        }
    }
Пример #9
0
    void Start()
    {
        // initialise LineRenderer
        lineRenderer                 = gameObject.AddComponent <LineRenderer>();
        lineRenderer.material        = new Material(Shader.Find("Sprites/Default"));
        lineRenderer.widthMultiplier = 0.05f;
        lineRenderer.positionCount   = segments;
        lineRenderer.loop            = true;

        // find player components
        GameObject player = GameObject.FindWithTag("Player");

        playerMovement = player.GetComponent <PlayerMovement>();
        playerBox      = player.GetComponent <PlayerBox>();

        // reduce search distance if this guard is in the dark
        // and the player has found the cloak item
        if (inDarkArea && PlayerItems.HasItem("Cloak"))
        {
            baseSearchDist /= 2f;
        }
    }
Пример #10
0
 public void Init()
 {
     _systems.Add(new LocalPlayerBoxRenderingSystem(_contexts));
     _container = new GameObject().AddComponent <PlayerBox>();
     _container.Init();
 }