示例#1
0
 protected override void OnTriggerEnter2D(Collider2D other)
 {
     base.OnTriggerEnter2D(other);
     //if bombstate is WAITING and other player enter the area find 10 random position and color then try to set tiles
     if (bombState == ART_BOMB_STATE.WAITING && other.tag == "Player" && other.GetComponent <IPlayer> ( ) != Owner)
     {
         for (int i = 0; i < 10; i++)
         {
             Vector3 pos            = new Vector3(transform.position.x + Random.Range(-posOffset.x, posOffset.x), transform.position.y + Random.Range(-posOffset.y, posOffset.y), transform.position.z);
             EColor  paintballColor = (EColor)Random.Range(0, System.Enum.GetValues(typeof(EColor)).Length - 1);
             tilemapManager.SetTile(paintballColor, pos);
         }
         bombState = ART_BOMB_STATE.BOMBING;
     }
 }
示例#2
0
    //Add all players if players.count equals to zero then call setStray if player not equal to owner
    public override void UsingItem( )
    {
        Vector3 setPos = new Vector3();

        switch (bombState)
        {
        //get tilemapmanager and also set position and enable collider trigger and renderer then set state to WAITTING
        case ART_BOMB_STATE.BEFORE_SETTING:
            if (Owner.IsPlayerOnGround)
            {
                bombState = ART_BOMB_STATE.SETTING;
            }

            else
            {
                state = EItemState.PICK_UP;
            }

            break;

        case ART_BOMB_STATE.SETTING:
            if (tilemapManager == null)
            {
                tilemapManager = GameObject.Find("Map").GetComponent <TilemapManager> ( );
            }
            transform.position = Owner.transform.position;
            setPos             = Owner.transform.position;
            col.enabled        = false;
            trigger.enabled    = true;
            rend.enabled       = true;
            bombState          = ART_BOMB_STATE.WAITING;
            break;

        //keep wait for other player to enter trigger area
        case ART_BOMB_STATE.WAITING:
            transform.position = setPos;
            break;

        //after bombing reset art bomb
        case ART_BOMB_STATE.BOMBING:
            BeforeEndState( );

            break;
        }
    }
示例#3
0
 //disable trigger and reset bombState to SETTING
 protected override void BeforeEndState( )
 {
     trigger.enabled = false;
     bombState       = ART_BOMB_STATE.BEFORE_SETTING;
     InitUnuse( );
 }
示例#4
0
 //Get props from gameManager
 protected override void Start( )
 {
     props           = GameManager.instance.attribution.allItemProps [(int)EItem.ART_BOMB];
     bombState       = ART_BOMB_STATE.BEFORE_SETTING;
     trigger.enabled = false;
 }