public void moveBoat(GameObject boat, Vector3 pos, float speed) { judger.setForbid(true); boatAction = SSMoveToAction.GetSSAction(pos, speed); Debug.Log("Ready to run!"); this.RunAction(boat, boatAction, this); }
public void MoveCharacter(MyNamespace.CharacterController characterCtrl, Vector3 destination) { Vector3 currentPos = characterCtrl.character.Role.transform.position; Vector3 middlePos = currentPos; //采用线段式的折线运动 //终点纵坐标小,则为从岸上船 //否则,从船上岸 if (destination.y > currentPos.y) { middlePos.y = destination.y; } else { middlePos.x = destination.x; } SSAction action1 = SSMoveToAction.GetSSMoveToAction(middlePos, characterCtrl.character.movingSpeed); SSAction action2 = SSMoveToAction.GetSSMoveToAction(destination, characterCtrl.character.movingSpeed); //动作队列完成上船或上岸动作 SSAction seqAction = SequenceAction.GetSequenceAction(1, 0, new List <SSAction> { action1, action2 }); AddAction(characterCtrl.character.Role, seqAction, this); }
public static SSMoveToAction GetSSAction(Vector3 dest, float speed) { SSMoveToAction action = ScriptableObject.CreateInstance <SSMoveToAction>(); //创建实例 action.dest = dest; action.speed = speed; return(action); }
public static SSMoveToAction GetSSMoveToAction(Vector3 target, float speed) { SSMoveToAction action = CreateInstance <SSMoveToAction>(); action.target = target; action.speed = speed; return(action); }
public static SSMoveToAction GetSSAction(Vector3 target, float speed) { SSMoveToAction action = ScriptableObject.CreateInstance <SSMoveToAction>();//让unity自己创建一个MoveToAction实例,并自己回收 action.target = target; action.speed = speed; return(action); }
public static SSMoveToAction GetSSAction(Vector3 _target, float _speed) { //让unity自己创建一个SSMoveToAction实例确保内存正确回收 SSMoveToAction action = ScriptableObject.CreateInstance <SSMoveToAction>(); action.target = _target; action.speed = _speed; return(action); }
public void moveBoat(GameObject boat, Vector3 endPos, float speed) { SSAction action1 = SSMoveToAction.GetSSAction(endPos, speed); boatMove = SequenceAction.GetSSAcition(0, 0, new List <SSAction> { action1 }); this.RunAction(boat, boatMove, this); }
public static SSMoveToAction GetSSMoveToAction(Vector3 target, float speed, bool catchState) { SSMoveToAction action = CreateInstance <SSMoveToAction>(); action.des = target; action.speed = speed; action.isCatching = catchState; return(action); }
public void moveCha(GameObject Cha, Vector3 middle_pos, Vector3 end_pos, float speed) { SSAction action1 = SSMoveToAction.GetSSAction(middle_pos, speed); SSAction action2 = SSMoveToAction.GetSSAction(end_pos, speed); moveChaToCoastorBoat = SequenceAction.GetSSAcition(1, 0, new List <SSAction> { action1, action2 }); this.RunAction(Cha, moveChaToCoastorBoat, this); }
public void moveRole(GameObject role, Vector3 middle_pos, Vector3 end_pos, float speed) { SSAction action1 = SSMoveToAction.GetSSAction(middle_pos, speed); // GetSSAction添加动作到动作列表 SSAction action2 = SSMoveToAction.GetSSAction(end_pos, speed); action_seq = SequenceAction.GetSSAcition(1, 0, new List <SSAction> { action1, action2 }); // 1, 0 对应动作是否重复等 this.RunAction(role, action_seq, this); //逐条执行动作 }
public void moveRole(GameObject role, Vector3 middle_pos, Vector3 end_pos, float speed) { SSAction action1 = SSMoveToAction.GetSSAction(middle_pos, speed); SSAction action2 = SSMoveToAction.GetSSAction(end_pos, speed); moveRoleToLandorBoat = SequenceAction.GetSSAcition(1, 0, new List <SSAction> { action1, action2 }); this.RunAction(role, moveRoleToLandorBoat, this); }
public void moveCharacter(GameObject ch, Vector3 middle, Vector3 dest, float speed) { //先到岸边,再上船 SSAction action1 = SSMoveToAction.GetSSAction(middle, speed); SSAction action2 = SSMoveToAction.GetSSAction(dest, speed); movech = SequenceAction.GetSSAcition(1, 0, new List <SSAction> { action1, action2 }); //船动作组合 this.RunAction(ch, movech, this); }
public void moveRole(GameObject role, Vector3 middlePos, Vector3 endPos, float speed) { //两段移动 SSAction action1 = SSMoveToAction.GetSSAction(middlePos, speed); SSAction action2 = SSMoveToAction.GetSSAction(endPos, speed); //repeat=1,start=0,两个动作 roleMove = SequenceAction.GetSSAcition(1, 0, new List <SSAction> { action1, action2 }); this.RunAction(role, roleMove, this); }
void addCombinedMoving(GameObject sourceObj, Vector3[] target, float[] speed, bool isCatching) { List <SSAction> acList = new List <SSAction>(); for (int i = 0; i < target.Length; i++) { acList.Add(SSMoveToAction.GetSSMoveToAction(target[i], speed[i], isCatching)); } SequenceAction MoveSeq = SequenceAction.GetSequenceAction(acList); this.AddAction(sourceObj, MoveSeq, this); }
public void MoveBoat(BoatControl boatCtrl) { SSMoveToAction action; if (boatCtrl.status == -1) { action = SSMoveToAction.GetSSMoveToAction(boatCtrl.from, BoatControl.speed); } else { action = SSMoveToAction.GetSSMoveToAction(boatCtrl.to, BoatControl.speed); } boatCtrl.status = -boatCtrl.status; AddAction(boatCtrl.boat, action, this); }
public void MoveCharacter(myGame.MyCharacterController characterCtrl, Vector3 destination) { Vector3 currentPos = characterCtrl.getPosition(); Vector3 middlePos = currentPos; if (destination.y > currentPos.y) { middlePos.y = destination.y; } else { middlePos.x = destination.x; } SSAction action1 = SSMoveToAction.GetSSMoveToAction(middlePos, characterCtrl.speed); SSAction action2 = SSMoveToAction.GetSSMoveToAction(destination, characterCtrl.speed); SSAction seqAction = SequenceAction.GetSequenceAction(1, 0, new List <SSAction> { action1, action2 }); AddAction(characterCtrl.getCharacter(), seqAction, this); }
public void MoveItem(ItemControl itemCtrl, Vector3 finalDes) { //Debug.Log("enter MoveItem!"); float time = 3; float g = -10; Vector3 v0; float vy_ByGravity = 0; float stepTime = 0.1f; Vector3 currentDes = itemCtrl.item.transform.position; List <SSAction> divide = new List <SSAction>(); // the des here is the final des v0 = new Vector3((finalDes.x - itemCtrl.item.transform.position.x) / time, (finalDes.y - itemCtrl.item.transform.position.y) / time - 0.5f * g * time, (finalDes.z - itemCtrl.item.transform.position.z) / time); //Debug.Log(v0); //Debug.Log(time / stepTime); // divide the curve to many parts for (int i = 0; i < time / stepTime - 1; i++) { //Debug.Log(divide[i]); //Debug.Log(currentDes); // change the vy vy_ByGravity += g * stepTime; // set current des currentDes += v0 * stepTime; currentDes.y += vy_ByGravity * stepTime; // get the current speed float currentSpeed = Mathf.Sqrt(v0.x * v0.x + (v0.y + vy_ByGravity) * (v0.y + vy_ByGravity)); // add one of the movements SSAction temp = SSMoveToAction.GetSSMoveToAction(currentDes, currentSpeed * 10); divide.Add(temp); } SSAction seqAction = SequenceAction.GetSequenceAction(1, 0, divide); AddAction(itemCtrl.item, seqAction, this); }
public void moveChar(MyCharacterController charCtrl, Vector3 dest, float speed) { Vector3 middle = dest; Vector3 chara = charCtrl.getGameobj().transform.position; if (dest.y < chara.y) { middle.y = chara.y; } else { middle.x = chara.x; } SSAction action1 = SSMoveToAction.GetSSMoveToAction(middle, speed); SSAction action2 = SSMoveToAction.GetSSMoveToAction(dest, speed); char_move = SSSequenceAction.GetSSSequenceAction(1, 0, new List <SSAction> { action1, action2 }); this.RunAction(charCtrl.getGameobj(), char_move, this); }
public void moveCharacter(GameObject chr, Vector3 pos, float speed) { judger.setForbid(true); Vector3 start = chr.transform.position; Vector3 tmp = pos; if (start.y > pos.y) { tmp.y = start.y; } else if (start.y < pos.y) { tmp.x = start.x; } SSAction act1 = SSMoveToAction.GetSSAction(tmp, speed); SSAction act2 = SSMoveToAction.GetSSAction(pos, speed); characterAction = CCSequenceAction.GetSSAcition(1, 0, new List <SSAction> { act1, act2 }); this.RunAction(chr, characterAction, this); }
public void moveChar(MyCharacterController charCtrl, Vector3 dest, float speed) { //moveable.setDestion()的功能 Vector3 middle = dest; Vector3 chara = charCtrl.getGameobj().transform.position; if (dest.y < chara.y) // character from bank to boat,说明角色在岸上,可以上船 { middle.y = chara.y; } else // character from boat to bank 说明角色在船上,可以上岸 { middle.x = chara.x; } SSAction action1 = SSMoveToAction.GetSSMoveToAction(middle, speed); SSAction action2 = SSMoveToAction.GetSSMoveToAction(dest, speed); char_move = SSSequenceAction.GetSSSequenceAction(1, 0, new List <SSAction> { action1, action2 }); this.RunAction(charCtrl.getGameobj(), char_move, this); }
public void moveBoat(GameObject boat, Vector3 target, float speed) { move_boat = SSMoveToAction.GetSSAction(target, speed); //新建一个动作 this.RunAction(boat, move_boat, this); //RunAction添加动作对象和执行传入的动作 }
public void moveBoat(GameObject boat, Vector3 target, float speed) { moveBoatToEndOrStart = SSMoveToAction.GetSSAction(target, speed); this.RunAction(boat, moveBoatToEndOrStart, this); }
public void moveBoat(BoatController boatCtrl, Vector3 dest, float speed) { boat_move = SSMoveToAction.GetSSMoveToAction(dest, speed); this.RunAction(boatCtrl.getGameobj(), boat_move, this); }
public void MoveBoat(BoatController boatController) { SSMoveToAction action = SSMoveToAction.GetSSMoveToAction(boatController.GetDestination(), boatController.boat.movingSpeed); AddAction(boatController.boat._Boat, action, this); }
public void moveBoat(GameObject boat, Vector3 dest, float speed) { moveboat = SSMoveToAction.GetSSAction(dest, speed); this.RunAction(boat, moveboat, this); }
public void moveBoat(GameObject boat, Vector3 target, float speed) { move_boat_action = SSMoveToAction.GetSSAction(target, speed); this.RunAction(boat, move_boat_action, this); }
void addSingleMoving(GameObject sourceObj, Vector3 target, float speed, bool isCatching) { this.AddAction(sourceObj, SSMoveToAction.GetSSMoveToAction(target, speed, isCatching), this); }
public void MoveBoat(BoatController boatController) { SSMoveToAction action = SSMoveToAction.GetSSMoveToAction(boatController.getDestination(), boatController.speed); AddAction(boatController.getBoat(), action, this); }