public void Take() { if (!_isEnabled) { return; } if (!TakeFromWorkbench()) { var objects = _triggerHand.GetObjects(); if (!objects.Any()) { return; } float min = float.MaxValue; C_Object objMin = null; foreach (var obj in objects) { var distance = Vector3.Distance(transform.position, obj.transform.position); if (distance < min) { min = distance; objMin = obj; } } Take(objMin); } }
public void Release() { if (!_isEnabled) { return; } if (_object == null) { return; } if (_triggerWorkbench.CurrentWorkbench != null && _triggerWorkbench.CurrentWorkbench.WorkbenchType != _object.ObjectType) { SoundManager.PlaySound(SoundList.Sound.error, gameObject); return; } _object.transform.SetParent(null); if (_triggerBot.CurrentBot != null) { _triggerBot.CurrentBot.AddPart(_object, this.gameObject); } else { _object.Release(this.gameObject); } _object = null; EnableHand(); }
public void AddObjectToList(C_Object obj) { if (!_boxList.Objects.Contains(obj)) { _boxList.Objects.Add(obj); } }
public void RemoveObjectFromList(C_Object obj) { if (_boxList.Objects.Contains(obj)) { _boxList.Objects.Remove(obj); } }
public C_Object TakeObject() { _currentRobotArm = null; _currentRobotPart = null; var obj = _currentObject; _currentObject = null; ChangeLEDColor(new Color(.04f, .04f, .04f)); return(obj); }
public void OnCollisionEnter(Collision collision) { if (_currentObject != null) { return; } var obj = collision.collider.GetComponent <C_Object>(); if (obj == null || obj.ObjectType != _workbenchType) { return; } var robotArm = collision.collider.GetComponent <C_RobotArm>(); var robotPart = collision.collider.GetComponent <C_RobotPart>(); if (robotArm == null && robotPart == null) { return; } _currentObject = obj; ChangeLEDColor(new Color(1.0f, 0.15f, 0)); if (robotArm != null) { _currentRobotArm = robotArm; if (_currentRobotArm.Progress >= 1f) { ChangeLEDColor(new Color(.04f, 1f, 0)); } } else if (robotPart != null) { _currentRobotPart = robotPart; if (_currentRobotPart.Progress >= _currentRobotPart.Hardness) { ChangeLEDColor(new Color(.04f, 1f, 0)); } } obj.transform.SetParent(_objectPosition); obj.transform.localPosition = -obj.OffsetHand.localPosition; obj.transform.localRotation = Quaternion.identity; obj.EnterWorkbench(); }
public static List <C_Object> getGoods(C_Object goods) { List <C_Object> reslut = new List <C_Object>(); if (goods.Type == 9) { reslut.Add(goods); } else { reslut.Concat(Getgood(goods, reslut)); } return(reslut); }
private static List <C_Object> Getgood(C_Object goods, List <C_Object> reslut) { foreach (var gs in goods.Subset) { if (gs.Type == 9) { reslut.Add(gs); } else { Getgood(gs, reslut); } } return(reslut); }
private void Take(C_Object obj) { _character.Animator.SetTrigger("Grab"); _object = obj; _object.Take(this.gameObject); _object.transform.SetParent(_hand); _object.transform.localPosition = _object.GetHandPosition(); //_object.transform.localPosition = Vector3.zero; _object.transform.localRotation = Quaternion.identity; //_object.transform.localPosition = new Vector3( // _object.OffsetHand.localPosition.x * _object.transform.localScale.x, // _object.OffsetHand.localPosition.y * _object.transform.localScale.y, // _object.OffsetHand.localPosition.z * _object.transform.localScale.z); DisableHand(); }
public ActionResult AddPost(ProductViewModel model) { C_Object Cmodel = new C_Object(); Cmodel.Name = model.Name; Cmodel.ParentId = model.ParentId; Cmodel.Sort = model.Sort; Cmodel.Creater = UserId; Cmodel.CreateTime = DateTime.Now; Cmodel.LastModifyTime = DateTime.Now; Cmodel.LastModifyUser = UserId; Cmodel.Status = 0; Cmodel.Type = (int)CommonEnum.TypeOfDbObject.Product; Cmodel.IsDelete = false; this._ObjectService.Insert(Cmodel); C_File imgmodel = new C_File(); imgmodel.FileName = model.Image; this._ObjectService.InsertImage(imgmodel); G_Name Gmodel = new G_Name(); Gmodel.Id = Cmodel.Id; Gmodel.Unit = model.Unit; Gmodel.Image = imgmodel.Id; this._GoodsService.InsertUnit(Gmodel); CategorySearchCriteria SearchCriteria = new CategorySearchCriteria(); SearchCriteria.ParentId = -1; SearchCriteria.Type = (int)CommonEnum.TypeOfDbObject.Classification; var attrsTypes = this._ObjectService.SearchCategory(SearchCriteria).Item1; var typelist = (from m in attrsTypes select new SelectListItem { Text = m.Name, Value = m.Id.ToString() }).ToList(); ViewBag.shopType = typelist; ViewBag.msg = "添加成功"; return(View(model)); }
public void Throw() { if (!_isEnabled) { return; } if (_object == null) { return; } if (_object.gameObject.layer == LayerMask.NameToLayer("Waste")) { _object.Throw(transform.forward, this.gameObject); _object = null; EnableHand(); return; } var hits = Physics.RaycastAll(_character.transform.position + Vector3.up, transform.forward, _raycastDistance, LayerMask.GetMask("Wall", "WallObjectWaste")); if (!hits.Any()) { var box = _object.GetComponent <C_Box>(); if (box == null) { _object.Throw(transform.forward, this.gameObject); } else { box.Open(this.gameObject); } _object = null; EnableHand(); } }
public void AddPart(C_Object part, GameObject player) { if (part.ObjectType == ObjectType.WASTE || _parts[part.ObjectType] != part.Version) { part.Release(player); return; } var robotArm = part.GetComponent <C_RobotArm>(); var robotPart = part.GetComponent <C_RobotPart>(); if (robotArm == null && robotPart == null) { part.Release(player); return; } if ((robotArm != null && robotArm.Progress < 1) || (robotPart != null && robotPart.Progress < robotPart.Hardness)) { part.Release(player); return; } Transform partDestination = null; switch (part.ObjectType) { case ObjectType.CHEST: if (_chest) { part.Release(player); return; } _chest = part; partDestination = _chestPosition; break; case ObjectType.HEAD: if (_head) { part.Release(player); return; } _head = part; partDestination = _headPosition; break; case ObjectType.LEFT_ARM: if (_leftArm) { part.Release(player); return; } _leftArm = part; partDestination = _leftArmPosition; break; case ObjectType.RIGHT_ARM: if (_rightArm) { part.Release(player); return; } _rightArm = part; partDestination = _rightArmPosition; break; } SoundManager.PlaySound(SoundList.Sound.addpart); PopupManager.RemoveTipOnPlayer(this.gameObject); var botPartAnim = part.gameObject.AddComponent <C_BotPartAnimation>(); partDestination = transform; botPartAnim.Init(partDestination, () => { var go = GetGOFromTypeAndVersion(part.ObjectType, part.Version); go.SetActive(true); CheckBotCompleted(); }); }