public void SetUp(IActorPart actor) { backpack?.RemoveOnAddItemListener(AddNewItem); backpack?.RemoveOnRemoveItemListener(RemoveItem); backpack = actor.GetBackpack(); panel.Init(this); Start(); backpack.AddOnAddItemListener(AddNewItem); backpack.AddOnRemoveItemListener(RemoveItem); gearUI.SetUp(actor.GetGear()); }
public void Init(IEquipmentGear gear, IBackpack backpack, IController controller, IDamageable damageable) { if (inited) { return; } this.gear = gear; this.backpack = backpack; this.controller = controller; this.damageable = damageable; Init(); inited = true; }
private void Awake() { if (!inited) { damageable = GetComponent <IDamageable>(); gear = GetComponent <IEquipmentGear>(); backpack = GetComponent <IBackpack>(); controller = GetComponent <BaseController>(); Init(); inited = true; damageable.Init(gear, backpack, controller, damageable); backpack.Init(gear, backpack, controller, damageable); gear.Init(gear, backpack, controller, damageable); controller.Init(gear, backpack, controller, damageable); } }
public void BindItem(IActorPart item_owner, Item item) { item_name.text = item.GetName(); item_desc.text = item.GetDescription(); item_attr.text = item.GetAttribute(); item_type.text = item.GetItemType(); item_img.sprite = item.GetImage().sprite; item_img.color = item.GetImage().color; int i = 0; IBackpack backpack = item_owner.GetBackpack(); foreach (ItemOperation op in item.GetOperations()) { UIButton btn; if (i < buttons.Count) { btn = buttons[i]; } else { btn = Instantiate(btn_prototype, buttons_group.transform); buttons.Add(btn); } btn.SetText(op.operation_name); switch (op.tag) { default: case OperationOverTag.Default: btn.SetOnclick(() => op.callBack.Invoke(item, backpack)); break; case OperationOverTag.Close_Info_After_Op: btn.SetOnclick(() => { op.callBack.Invoke(item, backpack); Hide(); }); break; case OperationOverTag.Close_Backpack_After_Op: btn.SetOnclick(() => { op.callBack.Invoke(item, backpack); Hide(); backpackUI.Hide(); }); break; } btn.Show(); i++; } for (; i < buttons.Count; i++) { buttons[i].Hide(); } }
public StatusProcessor(ILogger <StatusProcessor> log, IShip ship, ICommander commander, INavRoute navRoute, ICargo cargo, IMarket market, IModules modules, IBackpack backpack, IShipyard shipyard, IOutfitting outfitting, IFileReader fileReader) { _log = log; _ship = ship; _commander = commander; _navRoute = navRoute; _cargo = cargo; _market = market; _modules = modules; _backpack = backpack; _shipyard = shipyard; _outfitting = outfitting; _fileReader = fileReader; _cache = new Dictionary <string, string>(); }
public void CollectBy(IBackpack backpack) { print(gameObject + " collect by " + backpack); OnCollect?.Invoke(this, backpack); gameObject.SetActive(false); }
public override void DropItem(IBackpack backpack) { TakeOffItem(this, backpack); base.DropItem(backpack); }
public virtual void RemoveItem(Item item, IBackpack backpack) { item.SetUIPos(null); }
public virtual void AddNewItem(Item item, IBackpack backpack) { item.SetUIPos(content); }
/// <summary> /// add item to backpack /// </summary> /// <param name="backpack"></param> public void CollectItem(IBackpack backpack) { backpack.AddItem(this); }
public void DropItem(Item item, IBackpack backpack) { DropItem(backpack); }
public void CollectItem(Item item, IBackpack backpack) { CollectItem(backpack); }
//***********************************rewrite public void CollectItem(Collectable collectable, IBackpack backpack) { CollectItem(backpack); }
public virtual void DropItem(IBackpack backpack) { backpack.RemoveItem(this); collectable.Init(backpack.GetTransform().position); }
// события мыши private void UpdateInput() { ray = mainCamera.ScreenPointToRay(Input.mousePosition); // посылаем луч из камеры по направлению к курсору, маска по уровню Plane if (Physics.Raycast(ray, out hit, 500f, 1 << 8)) { cursorPosition = hit.point; } // если нажата левая клавиша мыши if (Input.GetMouseButtonDown(0)) { // посылаем луч из камеры по направлению к курсору, маска по уровню Backpack if (Physics.Raycast(ray, out hit, 500f, 1 << 9)) { // проверяем интерфейс рюкзака backpack = hit.collider.GetComponent <IBackpack>(); if (backpack != null) { // показать UI рюкзака backpack.SetActiveUI(true); } // посылаем луч из камеры по направлению к курсору } else if (Physics.Raycast(ray, out hit)) { // проверяем интерфейс фигуры figure = hit.collider.GetComponent <IFigure>(); if (figure != null) { figure.StartMove(); } } } // если держим фигуру и отпустили клавишу мыши if (Input.GetMouseButtonUp(0)) { if (figure != null) { figure.EndMove(); } // посылаем луч из камеры по направлению к курсору, маска по уровню Backpack if (Physics.Raycast(ray, out hit, 500f, 1 << 9)) { // проверяем интерфейс рюкзака IBackpack backpack = hit.collider.GetComponent <IBackpack>(); if (backpack != null) { if (figure != null) { // кладем фигуру в рюкзак backpack.PutFigure(figure); // посылаем луч из камеры по направлению к курсору } else if (Physics.Raycast(ray, out hit, 500f)) { // проверяем интерфейс фигуры figure = hit.collider.GetComponent <IFigure>(); if (figure != null) { backpack.GetFigure(figure); } } } } if (backpack != null) { // скрыть UI рюкзака backpack.SetActiveUI(false); } backpack = null; figure = null; } }