Example #1
0
    private void FixWithGrinding(FixableArea fixableArea)
    {
        var player = GetComponent <Player>();

        if (player != null)
        {
            fixableArea.FixWithGrinding();
        }
    }
Example #2
0
    public void CountFix(FixableArea area)
    {
        var tasks = _taskSystem.GetTasks();

        if (tasks == null)
        {
            Debug.Log("CountFix == null");
            return;
        }

        var task = tasks.FirstOrDefault(e => e.Name == area.Name && e.Type == Task.TaskType.Fix);

        if (tasks != null)
        {
            ++task.Count;
            DrawTasks();
        }
    }
Example #3
0
    internal void FixArea(FixableArea fixableArea)
    {
        switch (fixableArea.FixableObjectStage)
        {
        case FixableObjectStage.Damaged:
        {
            FixWithNoodles(fixableArea);
            break;
        }

        case FixableObjectStage.FilledWithNoodles:
        {
            FixWithGlue(fixableArea);
            break;
        }

        case FixableObjectStage.FilledWithGlue:
        {
            FixWithGrinding(fixableArea);
            break;
        }

        case FixableObjectStage.Grinded:
        {
            FixWithPainting(fixableArea);
            break;
        }

        case FixableObjectStage.Leaking:
        {
            FixWithFlexTape(fixableArea);
            break;
        }

        default:
        {
            break;
        }
        }
    }
Example #4
0
    private void FixWithPainting(FixableArea fixableArea)
    {
        var player = GetComponent <Player>();

        if (player != null)
        {
            var activeItem = player.InventoryUI.GetActiveItem();
            if (activeItem != null && activeItem.Type == Item.ItemType.Paint)
            {
                var paint = player.InventoryUI.GetItem(Item.ItemType.Paint);

                fixableArea.FixWithPainting();

                player.InventoryUI.UseInventoryItem(paint);

                if (fixableArea.FixableObjectStage == FixableObjectStage.Painted)
                {
                    player.TaskSystemUI.CountFix(fixableArea);
                }
            }
        }
    }
Example #5
0
    private void FixWithNoodles(FixableArea fixableArea)
    {
        var player = GetComponent <Player>();

        if (player != null)
        {
            var activeItem = player.InventoryUI.GetActiveItem();
            if (activeItem != null && activeItem.Type == Item.ItemType.Noodle)
            {
                var noodle = player.InventoryUI.GetItem(Item.ItemType.Noodle);

                if (noodle != null && noodle.Amount > 0)
                {
                    fixableArea.FixWithNoodles();
                    player.InventoryUI.UseInventoryItem(noodle);
                }
                else
                {
                    // show noodle warning
                }
            }
        }
    }
Example #6
0
 private void FixWithFlexTape(FixableArea fixableArea)
 {
     throw new NotImplementedException();
 }