Ejemplo n.º 1
0
    IEnumerator BatteryMove_Operate(BatteryMode batteryMove)
    {
        float moveDuration = 0f;

        if (batteryMove == battery_1 || batteryMove == battery_2)
        {
            moveDuration = CalcMoveDuration(0, (batteryMove.moveFrom[0].position.y - batteryMove.moveTo[0].position.y), batteryMove.speed);
        }
        else if (batteryMove == battery_3 || batteryMove == battery_4)
        {
            moveDuration = CalcMoveDuration((batteryMove.moveFrom[0].position.x - batteryMove.moveTo[0].position.x), 0, batteryMove.speed);
        }

        for (int i = 0; i < batteryMove.moveFrom.Length; i++)
        {
            GameObject batteryObj = Instantiate(batteryMove.batteryEnemy, batteryMove.moveFrom[i].position, Quaternion.identity);
            batteryObj.transform.SetParent(batteryMove.transformParent);
            batteryMove.batteryObjList.Add(batteryObj);
            SetTweenPosition(batteryObj, batteryMove.moveTo[i].position, moveDuration);
            yield return(new WaitForSeconds(batteryMove.enemyDelay));
        }
        if (batteryMove == battery_3 || batteryMove == battery_4)
        {
            yield return(new WaitForSeconds(batteryMove.stayDuration));

            for (int n = 0; n < batteryMove.batteryObjList.Count; n++)
            {
                TweenPosition.Begin(batteryMove.batteryObjList[n], moveDuration, batteryMove.moveFrom[n].position);
            }
            batteryMove.batteryObjList.Clear();
        }
    }
 internal BatteryValue(BatteryMode mode)
 {
     Mode = mode;
 }