public RDHorseController __Gen_Delegate_Imp33(object self, UnityEngine.Vector3 pos) { #if THREAD_SAFT || HOTFIX_ENABLE lock (luaEnv.luaEnvLock) { #endif RealStatePtr L = luaEnv.rawL; int err_func = LuaAPI.load_error_func(L, errorFuncRef); ObjectTranslator translator = luaEnv.translator; LuaAPI.lua_getref(L, luaReference); translator.PushAny(L, self); translator.PushUnityEngineVector3(L, pos); int __gen_error = LuaAPI.lua_pcall(L, 2, 1, err_func); if (__gen_error != 0) { luaEnv.ThrowExceptionFromError(err_func - 1); } RDHorseController __gen_ret = (RDHorseController)translator.GetObject(L, err_func + 1, typeof(RDHorseController)); LuaAPI.lua_settop(L, err_func - 1); return(__gen_ret); #if THREAD_SAFT || HOTFIX_ENABLE } #endif }
IEnumerator GameLoop() { // give player a horse RDHorseController horse = AddHorse(player.transform.position); player.GetComponent <RiderController> ().RideHorse(horse, false); // Waiting for click... yield return(StartCoroutine(RoundStarting())); if (AutoGenerateHorse) { InvokeRepeating("GenerateHorse", 0, 3f); } player.horse.GetComponent <RDHorseController> ().Run = true; // Guide user to control the player... yield return(StartCoroutine(RoundGuiding())); // Game playing... yield return(StartCoroutine(RoundPlaying())); // set timescale normal Time.timeScale = 1; //gameover, do some dirty work... GameOver(); // Game end, waiting for click the restart button... yield return(StartCoroutine(RoundEnding())); // Restart button pressed, do sone clean up and reload the scene... Restart(); }
public void RideHorse(RDHorseController horse, bool run) { ResetCircle(); if (horse != null) { m_jumping = false; anim.SetBool(JumpHash, false); Time.timeScale = 1; rigidBody.useGravity = false; rigidBody.isKinematic = true; rigidBody.detectCollisions = false; //屏蔽rigidbody transform.SetParent(horse.riderParent.transform); transform.localPosition = Vector3.zero; transform.localRotation = Quaternion.Euler(new Vector3(0, -90, -90)); if (this.horse) { this.horse.GetComponent <RDHorseController> ().onCowboyLeave(); } this.horse = horse.gameObject; horse.onCowboyRide(this); if (run) { horse.Run = true; } } }
RDHorseController AddHorse(Vector3 pos) { int t = Random.Range(0, instanableHorse.Length); //t = 4; GameObject newHorse = Instantiate(instanableHorse [t]); RDHorseController horse = newHorse.GetComponent <RDHorseController> (); newHorse.transform.position += pos; horse.circle = circle; return(horse); }
void GenerateHorse() { int count = Random.Range(1, 4); for (int i = 0; i < count; i++) { Vector3 PlayerPos = player.transform.position; PlayerPos.y = 0; PlayerPos.x += Random.Range(-8, 8); PlayerPos.z += 20 + Random.Range(5, 10); RDHorseController horse = AddHorse(PlayerPos); horse.Run = true; } }
void OnTriggerEnter(Collider other) { if (other.gameObject.CompareTag("Player")) { bool IsCowBoy = false; if (other.gameObject.GetComponent <RiderController> () != null) { IsCowBoy = true; } RDHorseController rd = other.gameObject.GetComponent <RDHorseController> (); if (IsCowBoy || (!Trigger && rd != null && rd.BeenRide)) { // should add a tile... //TODO: use a objectPool Trigger = !Trigger; GameObject newTile = Instantiate(Tile); newTile.transform.SetParent(gameObject.transform.parent.transform); newTile.GetComponent <AutoTerrain> ().SetileIndex = ++TileIndex; } } }
// Use this for initialization void Start() { hc = GetComponent <RDHorseController> (); rb = GetComponent <Rigidbody> (); }