private void FixWithGrinding(FixableArea fixableArea) { var player = GetComponent <Player>(); if (player != null) { fixableArea.FixWithGrinding(); } }
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(); } }
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; } } }
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); } } } }
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 } } } }
private void FixWithFlexTape(FixableArea fixableArea) { throw new NotImplementedException(); }