public virtual void Init() { gameScene = GameApp.GetInstance().GetGameScene(); rConf = GameApp.GetInstance().GetResourceConfig(); gameCamera = gameScene.GetCamera(); cameraComponent = gameCamera.GetComponent <Camera>(); cameraTransform = gameCamera.CameraTransform; player = gameScene.GetPlayer(); //! 获取场景中的人物 aimTarget = new Vector3(); hitParticles = rConf.hitparticles; projectile = rConf.projectile; hitForce = 0f; weaponBoneTrans = player.GetTransform().Find(BoneName.WEAPON_PATH); //! 获取人物中挂载武器的节点 //gun = weaponBoneTrans.Find("Rifle").gameObject; CreateGun(); gun.transform.parent = weaponBoneTrans; BindGunAndFire(); shootAudio = gun.GetComponent <AudioSource>(); if (shootAudio == null) { } else { } GunOff(); }
// Use this for initialization public virtual void Init(GameObject gObject) { gameScene = GameApp.GetInstance().GetGameScene(); player = gameScene.GetPlayer(); enemyObject = gObject; enemyTransform = enemyObject.transform; animation = enemyObject.GetComponent <UnityEngine.Animation>(); aimedTransform = enemyTransform.Find(BoneName.ENEMY_AIMED_PATH); rigidbody = enemyObject.GetComponent <Rigidbody>(); //collider = enemyObject.transform.Find(BoneName.ENEMY_BODY).collider; collider = enemyObject.transform.GetComponent <Collider>(); //sceneGUI = GameObject.Find("SceneGUI").GetComponent<SceneGUI>(); rConfig = GameApp.GetInstance().GetResourceConfig(); gConfig = GameApp.GetInstance().GetGameConfig(); controller = enemyObject.GetComponent <Collider>() as CharacterController; detectionRange = 150.0f; attackRange = 1.5f; minRange = 1.5f; lootCash = 0; criticalAttacked = false; spawnCenter = enemyTransform.position; target = GameObject.Find("Player").transform; //rigidbody.centerOfMass = Vector3.up; audio = new AudioPlayer(); Transform audioFolderTrans = enemyTransform.Find("Audio"); audio.AddAudio(audioFolderTrans, "Attack"); audio.AddAudio(audioFolderTrans, "Walk"); audio.AddAudio(audioFolderTrans, "Dead"); audio.AddAudio(audioFolderTrans, "Special"); audio.AddAudio(audioFolderTrans, "Shout"); hitBloodObjectPool = GameApp.GetInstance().GetGameScene().HitBloodObjectPool; pathFinding = new GraphPathFinding(); animation.wrapMode = WrapMode.Loop; animation.Play(AnimationName.ENEMY_IDLE); state = IDLE_STATE; lastUpdateTime = Time.time; lastPathFindingTime = Time.time; idleStartTime = -2; enemyObject.GetComponent <UnityEngine.Animation>()[AnimationName.ENEMY_ATTACK].wrapMode = WrapMode.ClampForever; path = GameApp.GetInstance().GetGameScene().GetPath(); }
public bool CheckInSpot() { if (bss != BombSpotState.UnInstalled) { return(false); } Player player = gameScene.GetPlayer(); float dis = (player.GetTransform().position - spotTransform.position).sqrMagnitude; if (dis < spotRadius * spotRadius) { return(true); } else { return(false); } }
public void Init() { thumbCenter.x = AutoRect.AutoX(110); thumbCenter.y = AutoRect.AutoY(530); thumbRadius = AutoRect.AutoValue(85); shootThumbCenter.x = AutoRect.AutoX(852); shootThumbCenter.y = AutoRect.AutoY(530); if (AutoRect.GetPlatform() == Platform.IPad) { thumbCenter.x = AutoRect.AutoX(66); shootThumbCenter.x = AutoRect.AutoX(896); thumbCenter.y = AutoRect.AutoY(500); shootThumbCenter.y = AutoRect.AutoY(500); } thumbCenterToScreen = new Vector2(thumbCenter.x, Screen.height - thumbCenter.y); shootThumbCenterToScreen = new Vector2(shootThumbCenter.x, Screen.height - shootThumbCenter.y); lastShootTouch = shootThumbCenterToScreen; for (int i = 0; i < 2; i++) { lastTouch[i] = new Touch(); } gameScene = GameApp.GetInstance().GetGameScene(); player = gameScene.GetPlayer(); EnableMoveInput = true; EnableShootingInput = true; EnableTurningAround = true; }