/// <summary> /// 复制坦克部件管理器 /// </summary> /// <param name="copySrc">复制源</param> public void CopyFrom(TankAssembleManager copySrc) { head = copySrc.head; body = copySrc.body; leftWheel = copySrc.leftWheel; cap = copySrc.cap; face = copySrc.face; bodyForward = copySrc.bodyForward; bodyBack = copySrc.bodyBack; }
public override void SetDefaultValue() { base.SetDefaultValue(); body = target as TankModuleBody; body.leftWheelTop = GameMathf.Round(moduleBounds.center + new Vector3(-moduleBounds.extents.x, -moduleBounds.extents.y, 0)); body.rightWheelTop = GameMathf.Round(moduleBounds.center + new Vector3(moduleBounds.extents.x, -moduleBounds.extents.y, 0)); body.raycastPos = body.anchors.forward; body.forwardUp = new Vector3(body.anchors.forward.x, body.anchors.up.y, body.anchors.forward.z); body.backUp = new Vector3(body.anchors.back.x, body.anchors.up.y, body.anchors.back.z); }
public void Clear() { head = null; body = null; leftWheel = null; cap = null; face = null; bodyForward = null; bodyBack = null; }
public override Vector3 GetTargetAnchor(TankModule module) { TankModuleBody body = module as TankModuleBody; if (body == null) { Debug.LogError("TankModuleBodyForward.GetTargetAnchor() Parameter Should Be 'TankModuleBody'."); return(Vector3.zero); } switch (targetPos) { case TargetPos.BodyForwardUp: return(body.forwardUp); case TargetPos.BodyForward: return(body.anchors.forward); } return(Vector3.zero); }
/// <summary> /// 连接右轮胎到身体 /// </summary> /// <param name="rightWheel">右轮胎</param> /// <param name="rightObj">右轮胎对象</param> /// <param name="body">身体</param> /// <param name="bodyObj">身体对象</param> static public void ConnectRightWheelToBody(TankModuleWheel rightWheel, GameObject rightObj, TankModuleBody body, GameObject bodyObj) { if (rightWheel.wheelType == TankModuleWheel.WheelType.Left) { rightObj.transform.position = bodyObj.transform.position + body.rightWheelTop - new Vector3(-rightWheel.anchors.up.x, rightWheel.anchors.up.y, rightWheel.anchors.up.z); } else { rightObj.transform.position = bodyObj.transform.position + body.rightWheelTop - rightWheel.anchors.up; } }
/// <summary> /// 连接左轮胎到身体 /// </summary> /// <param name="leftWheel">左轮胎</param> /// <param name="leftWheelObj">左轮胎对象</param> /// <param name="body">身体</param> /// <param name="bodyObj">身体对象</param> static public void ConnectLeftWheelToBody(TankModuleWheel leftWheel, GameObject leftWheelObj, TankModuleBody body, GameObject bodyObj) { leftWheelObj.transform.position = bodyObj.transform.position + body.leftWheelTop - leftWheel.anchors.up; }
/// <summary> /// 连接头到身体 /// </summary> /// <param name="head">头部件</param> /// <param name="headObj">头部件对象</param> /// <param name="body">身体部件</param> /// <param name="bodyObj">身体部件对象</param> static public void ConnectHeadToBody(TankModuleHead head, GameObject headObj, TankModuleBody body, GameObject bodyObj) { headObj.transform.position = bodyObj.transform.position + body.anchors.up - head.anchors.down; }