Example #1
0
    // Update is called once per frame
    void Update()
    {
        _hungryNum -= Time.deltaTime * _hunglyspeed;
        if (_hungryNum < 0)
        {
            _hungryNum = 0;
        }
        if (_hungryNum > 1f)
        {
            _hungryNum = 1f;
        }
        gauge.value = _hungryNum;


        //ステータスの評価
        switch (_sharkStats)
        {
        case SharkStats.Sleeping:
            if (_hungryNum < _hungryLine)
            {
                _sharkStats = SharkStats.Hungry;
            }
            break;

        case SharkStats.Hungry:
            if (_hungryNum >= _hungryLine)
            {
                _sharkStats = SharkStats.Sleeping;
            }

            EatingShip();


            break;

        case SharkStats.Eating_fish:
            _eatFishTime -= Time.deltaTime;
            if (_eatFishTime < 0)
            {
                _eatFishTime = 0;
                _sharkStats  = SharkStats.Hungry;
            }
            break;

        case SharkStats.Eating_dust:
            break;

        case SharkStats.Eating_mushroom:
            _panicTimer -= Time.deltaTime;
            if (_panicTimer < 0)
            {
                _panicTimer = 0;
                _sharkStats = SharkStats.Hungry;
            }
            break;
        }
        anim.SetInteger("status", (int)_sharkStats);
    }
Example #2
0
    void OnCollisionEnter(Collision otherCol)
    {
        //Debug.Log("collision"+otherCol.gameObject.name);


        switch (otherCol.gameObject.tag)
        {
        case FISH_L:
            _hungryNum += RECOVERY_FISH_L;
            Destroy(otherCol.gameObject);

            if (_sharkStats != SharkStats.Eating_mushroom)
            {
                _eatFishTime = EAT_FISH_TIME;
                _sharkStats  = SharkStats.Eating_fish;
            }
            break;

        case FISH_M:
            _hungryNum += RECOVERY_FISH_M;
            Destroy(otherCol.gameObject);

            if (_sharkStats != SharkStats.Eating_mushroom)
            {
                _eatFishTime = EAT_FISH_TIME;
                _sharkStats  = SharkStats.Eating_fish;
            }
            break;

        case FISH_S:
            _hungryNum += RECOVERY_FISH_S;
            Destroy(otherCol.gameObject);
            if (_sharkStats != SharkStats.Eating_mushroom)
            {
                _eatFishTime = EAT_FISH_TIME;
                _sharkStats  = SharkStats.Eating_fish;
            }
            break;

        case DUST:
            if (_sharkStats != SharkStats.Eating_mushroom)
            {
                _hungryNum -= RECOVERY_FISH_S;
            }
            Destroy(otherCol.gameObject);

            break;

        case MASH:
            _sharkStats = SharkStats.Eating_mushroom;
            _hungryNum += RECOVERY_FISH_M;
            _panicTimer = PANIC_TIME;
            Destroy(otherCol.gameObject);

            break;

        case SHIP:

            EatList.Add(otherCol.gameObject);
            if (_sharkStats == SharkStats.Hungry)
            {
                //start_eat
            }
            break;
        }
    }