private void MoveSetupNonBlocking(string[] parms, MoveType type) { //find actor in scene with name parameters[0] Actor actor = SceneObjects.GetActor(parms[0]); //find location in scene with name parameters[1] Actor location = SceneObjects.GetActor(parms[1]); if (actor == null) { Debug.LogWarning($"No actor with name {parms[0]} found. Continuing dialogue"); return; } if (location == null) { Debug.LogWarning($"No location with name {parms[1]} found. Continuing dialogue"); return; } if (type == MoveType.move) { //Debug.Log("move to " + location.Position); actor.MoveActor(location.transform.position); } if (type == MoveType.instant) { actor.SetActorPosition(location.transform.position); } }
private void MoveSetupBlocking(string[] parm, System.Action onComplete, MoveType type) { //find actor in scene with name parameters[0] Actor actor = SceneObjects.GetActor(parm[0]); //find location in scene with name parameters[1] Actor location = SceneObjects.GetActor(parm[1]); if (actor == null) { Debug.LogWarning($"No actor with name {parm[0]} found. Continuing dialogue"); onComplete?.Invoke(); return; } if (location == null) { Debug.LogWarning($"No actor with name {parm[1]} found. Destination not found, continuing dialogue"); onComplete?.Invoke(); return; } if (type == MoveType.wait) { actor.MoveActorBlocking(location.transform.position, onComplete); } }
private void Face(string[] parameters) { if (parameters == null) { return; } //Debug.Log("facing" + parameters[0] + parameters[1] + parameters[2]); int actorNameIndex = 0; Vector3 faceDirection = Vector3.zero; if (parameters.Length == 3) { faceDirection.x = float.Parse(parameters[1]); faceDirection.z = float.Parse(parameters[2]); } /** * Vector2 faceDirection = Vector2.zero; * if (parameters[0] == "up") * { * faceDirection = Vector2.up; * Debug.Log("facing up"); * } * else if (parameters[0] == "left") * { * faceDirection = Vector2.left; * Debug.Log("facing left"); * } * else if (parameters[0] == "down") * { * faceDirection = Vector2.down; * Debug.Log("facing down"); * } * else if (parameters[0] == "right") * { * faceDirection = Vector2.right; * Debug.Log("facing right"); * } * else * { * Debug.Log("movment facing"); * actorNameIndex = 0; * } **/ //Debug.Log("setting facing to " + faceDirection); Actor a = SceneObjects.GetActor(parameters[actorNameIndex]); if (a != null) { a.SetFacingEvent?.Invoke(faceDirection); } }