public void DestroyTool(string toolName) { print("--DestroyTool " + toolName); ToolHolder holder = FindToolHolder(toolName); if (holder && holder.Tool) { if (holder.Counter > 1) { holder.LessCounter(); } else { //holder.Tool.Destroy(); holder.Remove(); if (GetHolderCount() < 5) { CreateHolder(); } } } else { //print("--DestroyItemHiddenList " + toolName); ItemHiddenList.Remove(toolName); } SaveToolList(); }
public static ToolHolder ToModel(this IToolHolderViewModel vm) { ToolHolder m = null; if (vm is StaticToolHolderViewModel svm) { var sm = new StaticToolHolder(); UpdateModel(sm, svm); m = sm; } else if (vm is AutoSourceToolHolderViewModel asrcvm) { var am = new AutoSourceToolHolder(); UpdateModel(am, asrcvm); m = am; } else if (vm is AutoSinkToolHolderViewModel asnkvm) { var am = new AutoSourceToolHolder(); UpdateModel(am, asnkvm); m = am; } return(m); }
public ToolHolder CreateHolder() { ToolHolder toolHolder = UnityEngine.Object.Instantiate(holderPrefab) as ToolHolder; toolHolder.transform.SetParent(organizer.transform, false); return(toolHolder); }
public int GetHolderPosition(ToolHolder holder) { for (int i = 0; i < organizer.transform.childCount; i++) { if (organizer.transform.GetChild(i) == holder.transform) { return(i); } } return(-1); }
public ToolHolder FindToolHolder(string name) { foreach (Transform child in organizer.transform) { ToolHolder holder = child.GetComponent <ToolHolder>(); if (holder != null && holder.Tool != null && holder.Tool.Name == name) { return(holder); } } return(null); }
private static void UpdateModel(ToolHolder m, ToolHolderViewModel vm) { m.Id = vm.Id; m.Position = new MachineModels.Models.Vector() { X = vm.Position.X, Y = vm.Position.Y, Z = vm.Position.Z }; m.Direction = new MachineModels.Models.Vector() { X = vm.Direction.X, Y = vm.Direction.Y, Z = vm.Direction.Z }; }
private static void UpdateViewModel(ToolHolderViewModel vm, ToolHolder m) { vm.Id = m.Id; vm.Position = new System.Windows.Media.Media3D.Point3D() { X = m.Position.X, Y = m.Position.Y, Z = m.Position.Z }; vm.Direction = new System.Windows.Media.Media3D.Vector3D() { X = m.Direction.X, Y = m.Direction.Y, Z = m.Direction.Z }; }
public Tool FindTool(string name) { ToolHolder holder = FindToolHolder(name); if (holder && !holder.IsRemoving) { return(holder.Tool); } else { return(null); } }
public void AttachToHolder(ToolHolder holder) { if (holder.Tool != null && holder.Tool != this) { Destroy(gameObject); return; } this.holder = holder; holder.Tool = this; holder.name = Name; SetInvView(); transform.SetParent(holder.toolAncher, false); }
public List <Tool> GetTools() { List <Tool> tools = new List <Tool>(); foreach (Transform child in organizer.transform) { ToolHolder holder = child.GetComponent <ToolHolder>(); if (holder != null && !holder.IsRemoving) { tools.Add(holder.Tool); } } return(tools); }
public void DestroyAllTool() { foreach (Transform child in organizer.transform) { ToolHolder holder = child.GetComponent <ToolHolder>(); if (holder) { if (holder.Tool) { holder.Tool.Destroy(); } holder.Remove(); } } SaveToolList(); }
public List <string> GetToolNames() { //return GetTools().Select(t => t.Name).ToList(); List <string> toolsName = new List <string>(); foreach (Transform child in organizer.transform) { ToolHolder holder = child.GetComponent <ToolHolder>(); if (holder != null && !holder.IsRemoving) { for (int i = 0; i < holder.Counter; i++) { toolsName.Add(holder.Tool.Name); } } } return(toolsName); }
public ToolHolder GetEmptyHolder(bool createIfNotExist = true) { ToolHolder holder = organizer.GetFirstComponentInChildren <ToolHolder>(h => h.Tool == null); if (holder == null) { if (createIfNotExist) { holder = CreateHolder(); } else { return(null); } } return(holder); }
public ToolHolder GetHolderForTool(string name, bool createIfNotExist = true) { ToolHolder holder = FindToolHolder(name); if (holder == null) { if (createIfNotExist) { holder = CreateHolder(); } else { return(null); } } return(holder); }
public Tool AddTool(string toolName) { if (ItemHiddenList.Exists(t => t == toolName)) { Debug.LogError("Don`t AddTool - " + toolName); return(null); } Debug.Log("AddTool - " + toolName); Tool tool = null; //bool hasWeapon = PlayerInfo.Instance.HasWeapon(toolName); //if(hasWeapon || (!hasWeapon && !PlayerInfo.Instance.GetItem(toolName).hidden)) if (PlayerInfo.Instance.HasItem(toolName)) { ToolHolder toolHolder = FindToolHolder(toolName); if (toolHolder) { toolHolder.AddCounter(); } else { tool = CreateTool(toolName); AddTool(tool); } } else { if (PlayerInfo.Instance.HasHidden(toolName)) { ItemHiddenList.Add(toolName); } else { Debug.LogError("Not hidden tool - " + toolName); } } SaveToolList(); return(tool); }
public static ToolHolderViewModel UpdateFromModel(this ToolHolderViewModel vm, ToolHolder m) { vm.ToolHolderId = m.Id; vm.Position = new Point3D(m.Position.X, m.Position.Y, m.Position.Z); vm.Direction = new Vector3D(m.Direction.X, m.Direction.Y, m.Direction.Z); return(vm); }