Example #1
0
    public void SetPlayer(PlayerMotor pm)
    {
        playerMotor = pm;
        psm         = pm.GetComponent <PlayerStatusManager>();

        psm.canDie = canDie;
    }
Example #2
0
 public void StartGame(PlayerStatusManager player)
 {
     isGaming    = true;
     this.player = player;
     speed       = 48f;
     distance    = player.Distance - 60;
 }
Example #3
0
 /// <summary>
 /// 在zombie的attack动画中添加event片段,执行此函数,对player造成等同于zombie攻击力数值的伤害
 /// </summary>
 public void Attack()
 {
     if (PlayerStatusManager.Instance().currentHp > 0)
     {
         PlayerStatusManager.Instance().ReduceHp(attackPower - (int)(PlayerStatusInfo.Instance().def * 0.2f));
     }
 }
        private void PushAway(Collider col)
        {
            // Stun the player
            PlayerStatusManager psm = col.GetComponent <PlayerStatusManager>();

            psm.ApplyCrowdControl(new CrowdControl(CrowdControlType.Stun, DamageType.Melee, DamageElement.Physical), STUN_DURATION);

            // Push the player away
            Vector3 knightCenter = km.transform.position;

            Vector3 position      = col.transform.position;
            Vector3 finalPosition = position + (position - knightCenter).normalized * (PUSH_AWAY_RANGE - (position - knightCenter).magnitude);

            // x and z
            AnimationCurve xCurve = new AnimationCurve();

            xCurve.AddKey(new Keyframe(0, position.x));
            xCurve.AddKey(new Keyframe(PUSH_AWAY_DURATION, finalPosition.x));

            AnimationCurve zCurve = new AnimationCurve();

            zCurve.AddKey(new Keyframe(0, position.z));
            zCurve.AddKey(new Keyframe(PUSH_AWAY_DURATION, finalPosition.z));

            // y
            AnimationCurve yCurve = new AnimationCurve();

            yCurve.AddKey(new Keyframe(0, position.y));
            yCurve.AddKey(new Keyframe(PUSH_AWAY_DURATION, position.y));

            // Add curve to player movement
            psm.playerMotor.MoveByCurve(PUSH_AWAY_DURATION, xCurve, yCurve, zCurve);
        }
Example #5
0
 /// <summary>
 /// 使用此快捷栏中的技能
 /// </summary>
 /// <returns>使用成功返回 true</returns>
 public bool UseSkill()
 {
     //没有技能的情况
     if (this.id == 0)
     {
         Debug.Log("没有快捷技能");
         return(false);
     }
     //cd没好的情况
     else if (!SkillBoard.Instance().FindSkillById(id).GetSkillReadyState())
     {
         Debug.Log("CD未冷却");
         return(false);
     }
     //mp不够的情况
     else if (!PlayerStatusManager.Instance().ReduceMp(this.info.mpSpend))
     {
         Debug.Log("蓝不够");
         return(false);
     }
     //没有以上情况则释放技能
     else
     {
         //使技能进入冷却
         SkillBoard.Instance().FindSkillById(id).SetSkillColdState();
         //技能发射器发射技能
         SkillShoot.Instance().ShootSkill(this.id, this.info);
         return(true);
     }
 }
        void PushAway(PlayerStatusManager psm, AbilityColliderTrigger abilityColliderTrigger, Collider col)
        {
            // Push the player away
            Vector3        actPos = abilityColliderTrigger.transform.position;
            SphereCollider sc     = abilityColliderTrigger.GetComponent <SphereCollider>();

            Vector3 position      = col.transform.position;
            Vector3 finalPosition = position + (position - actPos).normalized * (sc.radius - (position - actPos).magnitude);

            // x and z
            AnimationCurve xCurve = new AnimationCurve();

            xCurve.AddKey(new Keyframe(0, position.x));
            xCurve.AddKey(new Keyframe(PUSH_AWAY_DURATION, finalPosition.x));

            AnimationCurve zCurve = new AnimationCurve();

            zCurve.AddKey(new Keyframe(0, position.z));
            zCurve.AddKey(new Keyframe(PUSH_AWAY_DURATION, finalPosition.z));

            // y
            AnimationCurve yCurve = new AnimationCurve();

            yCurve.AddKey(new Keyframe(0, position.y));
            yCurve.AddKey(new Keyframe(PUSH_AWAY_DURATION, position.y));

            // Add curve to player movement
            psm.playerMotor.MoveByCurve(PUSH_AWAY_DURATION, xCurve, yCurve, zCurve);
        }
Example #7
0
    void Start()
    {
        transform.position = PlayerPosition.transform.position;
        GameObject GameManager = GameObject.Find("GameManager");

        PlayerState = GameManager.GetComponent <PlayerStatusManager>();
        rbyPlayer   = GetComponent <Rigidbody>();
    }
Example #8
0
    void Start()
    {
        GameObject GameManager = GameObject.Find("GameManager");

        PlayerState = GameManager.GetComponent <PlayerStatusManager>();
        rbyPlayer   = GetComponent <Rigidbody>();
        ShootVectol = Vector3.zero;
    }
	void Awake () 
	{
		if (playerStatusManager == null)
			playerStatusManager = GameObject.Find("PlayerStatusManager").GetComponent<PlayerStatusManager>();
		
		if (particleManager == null)
			particleManager = GameObject.Find("ParticleManager").GetComponent<ParticleManager>();
	}
Example #10
0
 void Start()
 {
     meleeHitbox     = GetComponentInChildren <MeleeHitbox>();
     audioSource     = GetComponent <AudioSource>();
     playerStatus    = GetComponent <PlayerStatusManager>();
     movementManager = GetComponent <MovementManager>();
     animator        = GetComponent <Animator>();
 }
Example #11
0
    void Start()
    {
        player = GameObject.FindGameObjectWithTag(Constants.Tags.Player).GetComponent <PlayerStatusManager>();
        RaycastHit2D hit = Physics2D.Linecast(transform.position, transform.position - new Vector3(0, 100, 0), LayerMask.GetMask(Constants.Layers.ClimbableEnvironment));

        laserLength     = hit.distance;
        beamDestination = hit.point;
    }
Example #12
0
    int attackHash = 0; //ダメージ判定を一度きりに制限するため

    void Awake()
    {
        enemyCtrl  = GetComponentInParent <EnemyController>();
        playerAnim = GameObject.FindWithTag("Player").GetComponent <Animator>();
        playerCtrl = playerAnim.GetComponent <PlayerController>();

        playerStatusManager = playerAnim.GetComponent <PlayerStatusManager>();
    }
Example #13
0
    void Start()
    {
        player = GameObject.Find("Player").GetComponent <PlayerStatusManager>();

        MoneyEarnedWhenNotActivated();

        StartCoroutine(UpdateTimer());
    }
Example #14
0
    void Update()
    {
#if UnityEditor
        //背包加药品
        if (Input.GetKeyDown(KeyCode.P))
        {
            int x = 0;
            BagBoard.Instance().PickOneItemById(x = Random.Range(1001, 1004));
            Debug.Log(x);
        }
        //背包加装备
        if (Input.GetKeyDown(KeyCode.O))
        {
            int x = 0;
            BagBoard.Instance().PickOneItemById(x = Random.Range(2001, 2023));
            Debug.Log(x);
        }
        //商店加药品
        if (Input.GetKeyDown(KeyCode.L))
        {
            ShopBoard.Instance().AddOneShopItemById(c++);
            Debug.Log(c);
        }
        //商店加装备
        if (Input.GetKeyDown(KeyCode.K))
        {
            ShopBoard.Instance().AddOneShopItemById(z++);
            Debug.Log(z);
        }
        //扣血
        if (Input.GetKeyDown(KeyCode.M))
        {
            PlayerStatusManager.Instance().ReduceHp(50);
        }
        //加钱
        if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            CoinManager.Instance().AddCoin(50);
        }
        //扣钱
        if (Input.GetKeyDown(KeyCode.DownArrow))
        {
            CoinManager.Instance().ReduceCoin(50);
        }
        //加点
        if (Input.GetKeyDown(KeyCode.KeypadPlus))
        {
            PlayerStatusManager.Instance().AddPoint();
        }
        //加技能
        if (Input.GetKeyDown(KeyCode.B))
        {
            SkillBoard.Instance().AddOneSkillById(4001);
            SkillBoard.Instance().AddOneSkillById(4002);
            SkillBoard.Instance().AddOneSkillById(4003);
        }
#endif
    }
Example #15
0
 /// <summary>
 /// 使用药品
 /// </summary>
 public void UseDrug()
 {
     //死人是用不了药的
     if (Global.playerState != Global.State.DieState)
     {
         PlayerStatusManager.Instance().AddHpAndMp(info);
         ReduceItemNum(1);
     }
 }
Example #16
0
    void Start()
    {
        GameObject GameManager = GameObject.Find("GameManager");

        ClearFlag   = GameManager.GetComponent <ClearFlagManager>();
        PlayerState = GameManager.GetComponent <PlayerStatusManager>();

        RemainText = RemainTextObject.GetComponent <Text>();
    }
Example #17
0
        private void ApplyGroundDamage(Collider col)
        {
            PlayerStatusManager psm = col.GetComponent <PlayerStatusManager>();
            Damage dmg = new Damage(GROUND_DAMAGE, DamageType.AreaOfEffect, DamageElement.Energy, col.transform.position);

            if (psm.IsAffectedBy(dmg, em, em.transform.position))
            {
                psm.TakeDamage(dmg, em, em.transform.position);
            }
        }
Example #18
0
 protected virtual void Start()
 {
     enemyRigidbody    = GetComponent <Rigidbody2D>();
     sprite            = GetComponent <SpriteRenderer>();
     animator          = GetComponent <Animator>();
     defaultColour     = sprite.color;
     damageFlashColour = Color.red;
     player            = GameObject.FindGameObjectWithTag("Player");
     playerStatus      = player.GetComponent <PlayerStatusManager>();
 }
Example #19
0
 void Start()
 {
     gunDatsuHitbox  = GetComponentInChildren <GunDatsuHitbox>();
     movementManager = GetComponent <MovementManager>();
     playerStatus    = GetComponent <PlayerStatusManager>();
     playerRigidbody = GetComponent <Rigidbody2D>();
     animator        = GetComponent <Animator>();
     cameraManager   = Camera.main.GetComponent <CameraManager>();
     InGunDatsu      = false;
 }
	void Awake () 
	{
		if (playerStatusManager == null)
			playerStatusManager = GameObject.Find("PlayerStatusManager").GetComponent<PlayerStatusManager>();
		
		if (particleManager == null)
			particleManager = GameObject.Find("ParticleManager").GetComponent<ParticleManager>();
		
		playerStatusManager.OnGoldChanged += HandleOnGoldChanged;
	}
Example #21
0
    void Start()
    {
        timer  = GameObject.Find("Timer").GetComponent <Timer>();
        player = GameObject.Find("Player").GetComponent <PlayerStatusManager>();

        easing  = GetComponent <Easing>();
        coin    = transform.GetChild(6).gameObject;
        coinBox = transform.GetChild(7).gameObject;

        StartCoroutine(UpdateResult());
    }
Example #22
0
 /// <summary>
 /// 从此装备栏中移除装备信息
 /// </summary>
 public void UnloadThisGridEquip()
 {
     //移除装备赋予玩家的属性
     PlayerStatusManager.Instance().ReduceProperties(info);
     //物品栏添加该物品
     BagBoard.Instance().PickOneItemById(this.id);
     //此栏装备清空
     this.id   = 0;
     this.info = null;
     DestroyImmediate(this.GetComponentInChildren <Item>().transform.gameObject);
 }
Example #23
0
        private void ApplyDamage(Collider col)
        {
            PlayerStatusManager psm = col.GetComponent <PlayerStatusManager>();
            Damage dmg = new Damage(25f, DamageType.Melee, DamageElement.Physical, em.transform.position);

            if (psm.IsAffectedBy(dmg, em, em.transform.position))
            {
                psm.TakeDamage(dmg, em);
                psm.ApplyCrowdControl(new CrowdControl(CrowdControlType.Stun, DamageType.Melee, DamageElement.Physical), STUN_DURATION);
            }
        }
Example #24
0
    /// <summary>
    /// 向此装备栏添加装备信息
    /// </summary>
    /// <param name="id">装备id</param>
    /// <param name="info">装备info</param>
    public void SetThisGridEquipById(int id, ObjectInfo info)
    {
        this.id   = id;
        this.info = info;
        Item equip = this.GetComponentInChildren <Item>();

        equip.SetIconAndId(id, this.info.icon_name);
        equip.equiping = true;
        //赋予玩家装备的属性
        PlayerStatusManager.Instance().AddProperties(info);
    }
Example #25
0
    private void Start()
    {
        this.rb       = GetComponent <Rigidbody2D>();
        this.animator = GetComponent <Animator>();

        obj = this.transform.Find("Punch_obj").gameObject;
        col = obj.GetComponent <BoxCollider2D>();

        psm = StatusManager.GetComponent <PlayerStatusManager>();
        gm  = GManager.GetComponent <GManager>();
    }
Example #26
0
        private void ApplyRayDamage(Collider col)
        {
            PlayerStatusManager psm = col.GetComponent <PlayerStatusManager>();
            Damage dmg = new Damage(RAY_DAMAGE, DamageType.RangeInstant, DamageElement.Energy, em.transform.position);

            if (psm.IsAffectedBy(dmg, em, em.transform.position))
            {
                psm.TakeDamage(dmg, em, em.transform.position);
                missed = false;
            }
        }
        public override void Start(PlayerStatusManager psm)
        {
            base.Start(psm);

            psm.moveMultiplicators.Add(this, 0);
            psm.maxRotation.Add(this, 0);

            // Lock all abilities
            psm.playerMotor.LockAbilitiesExcept(true, psm.playerMotor.abilities[PlayerController.IN_AB_ESC]);

            // TODO Effect
        }
Example #28
0
 public void OnColliderEnter(AbilityColliderTrigger abilityColliderTrigger, Collider col)
 {
     if (col.tag == "Player")
     {
         PlayerStatusManager psm = col.GetComponent <PlayerStatusManager>();
         Damage dmg = new Damage(10f, DamageType.AreaOfEffect, DamageElement.Energy, abilityColliderTrigger.transform.position);
         if (psm.IsAffectedBy(dmg, em))
         {
             psm.TakeDamage(dmg, em);
         }
     }
 }
Example #29
0
        private void ApplyExplosionDamage(AbilityColliderTrigger abilityColliderTrigger, Collider col)
        {
            PlayerStatusManager psm = col.GetComponent <PlayerStatusManager>();
            Damage dmg = new Damage(EXPLOSION_DAMAGE, DamageType.AreaOfEffect, DamageElement.Energy,
                                    abilityColliderTrigger.transform.position);

            if (psm.IsAffectedBy(dmg, em, em.transform.position))
            {
                psm.TakeDamage(dmg, em, em.transform.position);
                missed = false;
            }
        }
Example #30
0
 void Start()
 {
     playerRigidbody     = GetComponent <Rigidbody2D>();
     playerStatus        = GetComponent <PlayerStatusManager>();
     animator            = GetComponent <Animator>();
     sprite              = GetComponent <SpriteRenderer>();
     groundDetector      = GetComponentInChildren <GroundDetector>();
     wallclimbDetector   = GetComponentInChildren <WallDetector>();
     IsGrounded          = false;
     HasMovementFreedom  = true;
     regularGravityScale = playerRigidbody.gravityScale;
 }
Example #31
0
 void Start()
 {
     if (instance == null)
     {
         instance = this;
     }
     else if (instance != this)
     {
         //잘못된 인스턴스를 가르키고 있을 경우
         Destroy(gameObject);
     }
 }
Example #32
0
    void Start()
    {
        healthTransform = healthSlider.gameObject.GetComponent <RectTransform>();
        GameObject player = GameObject.FindGameObjectWithTag("Player");

        playerStatus               = player.GetComponent <PlayerStatusManager>();
        health                     = playerStatus.Health;
        maxHealth                  = playerStatus.MaxHealth;
        energy                     = playerStatus.MaxEnergy;
        energySlider.maxValue      = energy;
        healthSlider.maxValue      = playerStatus.MaxHealth;
        healthSliderSizeMultiplier = healthTransform.sizeDelta.x / maxHealth;
    }
    public void Start()
    {
        manager = GameObject.Find("LevelMessenger");
        main_character = GameObject.Find("MainCharacter");
        main_character.transform.position = player_start_pos.position;
        Destroy(Instantiate(enter_effect, player_start_pos.position, Quaternion.identity) as GameObject, 5.0f);
        AudioManager.PlaySound(travel_sound, transform.position);
        main_character.tag = "Player";
        player_status = (main_character.GetComponent("PlayerStatusManager") as PlayerStatusManager);

        player_status.HealFix(player_status.max_health);
        player_status.ChangeManaFix(player_status.max_mana);

        GameObject.Find("AudioManager").transform.position = invisible_pos.position;
        GameObject.Find("GUITextMessenger").transform.position = invisible_pos.position;
        GameObject.Find("MecanimEventManager").transform.position = invisible_pos.position;

        AudioManager.PlayEnvironmentSound(null);
        AudioManager.PlayBackgroundMusic(null);
    }
	void Awake () 
	{		
		TextAsset XMLTextAsset = (TextAsset) Resources.Load(levelPath + levelName);
		xmlDoc = new XmlDocument();
		xmlDoc.LoadXml(XMLTextAsset.text);		
		
		startingGold = int.Parse(xmlDoc.SelectSingleNode("/level/startingGold").InnerText);
		
		entityFactory = EntityFactory.GetInstance();
		monsterGUIManager = GameObject.Find("MonsterGUIManager").GetComponent<MonsterGUIManager>();
		
		waveManager = GameObject.Find("WaveManager").GetComponent<HeroWaveManager>();
		
		if (playerStatusManager == null)
			playerStatusManager = GameObject.Find("PlayerStatusManager").GetComponent<PlayerStatusManager>();
				
		//waveManager.onSpawnNewHero += HandleOnSpawnNewHero;
		waveManager.onWaveCompletedSpawning += HandleOnWaveCompletedSpawning;	
		waveManager.onAllWaveEnemiesDefeated += HandleOnWaveEnemiesDefeated;	
		waveManager.onNextWaveStarted += HandleOnNextWaveStarted;		
	}
	void Start()
	{		
		monsterScrollList = GameObject.Find("MonsterScrollList").GetComponent<UIScrollList>();
		statsPanel = GameObject.Find("MonsterInfoPanel").GetComponent<UIPanel>();
		
		magnitudeBar = statsPanel.transform.FindChild("damage").FindChild("damageBar").GetComponent<UIProgressBar>();
		attackSpeedBar = statsPanel.transform.FindChild("attackSpeed").FindChild("attackSpeedBar").GetComponent<UIProgressBar>();
		attackRangeBar = statsPanel.transform.FindChild("range").FindChild("rangeBar").GetComponent<UIProgressBar>();
		movementSpeedBar = statsPanel.transform.FindChild("moveSpeed").FindChild("moveSpeedBar").GetComponent<UIProgressBar>();
		healthBar = statsPanel.transform.FindChild("health").FindChild("healthBar").GetComponent<UIProgressBar>();
		spawnRate = statsPanel.transform.FindChild("spawnRate").GetComponent<SpriteText>();
		
		monsterName = statsPanel.transform.FindChild("name").GetComponent<SpriteText>();
		monsterSprite = statsPanel.transform.FindChild("sprite").GetComponent<tk2dSprite>();
		
		goldCost = statsPanel.transform.FindChild("goldCost").GetComponent<SpriteText>();
		
		confirmButton = statsPanel.transform.FindChild("okayButton").GetComponent<UIButton>();
		confirmButtonImage = confirmButton.GetComponent<tk2dSprite>();
		
		monsterSaleConfirmationPanel = GameObject.Find("SellConfirmationPanel").GetComponent<UIPanel>();
		monsterSaleConfirmButton = monsterSaleConfirmationPanel.transform.FindChild("okayButton").GetComponent<UIButton>();
		monsterSaleCancelButton = monsterSaleConfirmationPanel.transform.FindChild("cancelButton").GetComponent<UIButton>();
		monsterSaleConfirmButton.scriptWithMethodToInvoke = this;
		monsterSaleCancelButton.scriptWithMethodToInvoke = this;
		monsterSaleConfirmButton.methodToInvoke = "MonsterSaleConfirmed";
		monsterSaleCancelButton.methodToInvoke = "MonsterSaleCancelled";
				
		scrollListCamera = monsterScrollList.renderCamera;		
		
		levelManager = GameObject.Find("LevelManager").GetComponent<LevelManager>();
		
		listPanel = GameObject.Find("MonsterSelectionPanel").GetComponent<UIPanel>();
		
		Transform attackEffectParent = GameObject.Find("attackEffectIcons").transform.FindChild("icons");
		actionEffectIcons = attackEffectParent.GetComponentsInChildren<tk2dSprite>();	
		
		if (playerStatusManager == null)
			playerStatusManager = GameObject.Find("PlayerStatusManager").GetComponent<PlayerStatusManager>();
		
		entityFactory = EntityFactory.GetInstance();
		
		monsterSelectedCallback = null;
		
		LoadMonsterScrollPanel();
	}
	void Start()
	{
		if (spawnLocation == Vector3.zero)
			spawnLocation = transform.FindChild("SpawnLocation").transform.position;
		
		if (monsterGUIManager == null)
			monsterGUIManager = GameObject.Find("MonsterGUIManager").GetComponent<MonsterGUIManager>();
		
		if (playerStatusManager == null)
			playerStatusManager = GameObject.Find("PlayerStatusManager").GetComponent<PlayerStatusManager>();
		
		currentSpawnSpeedMultiplier = baseSpawnSpeedMultiplier;
		
		monsterIndicators = new tk2dSprite[5];
		
		monsterIndicators[0] = transform.FindChild("monsterIndicators").FindChild("1").GetComponent<tk2dSprite>();
		monsterIndicators[1] = transform.FindChild("monsterIndicators").FindChild("2").GetComponent<tk2dSprite>();
		monsterIndicators[2] = transform.FindChild("monsterIndicators").FindChild("3").GetComponent<tk2dSprite>();
		monsterIndicators[3] = transform.FindChild("monsterIndicators").FindChild("4").GetComponent<tk2dSprite>();
		monsterIndicators[4] = transform.FindChild("monsterIndicators").FindChild("5").GetComponent<tk2dSprite>();		
		
		levelManager = GameObject.Find("LevelManager").GetComponent<LevelManager>();
		
		entityFactory = EntityFactory.GetInstance();
		
		viewCamera = GameObject.Find("Main Camera").GetComponent<Camera>();
		
		selectionCollider = transform.FindChild("SelectCollider").GetComponent<Collider>();
		
		spawnCollider = transform.FindChild("SpawnCollider").GetComponent<SpawnCollider>();
		totalSpawned = 0;
		totalAlive = 0;
		
		sprite = transform.FindChild("MonsterSprite").GetComponent<tk2dSprite>();
		dungeonSprite = GetComponent<tk2dSprite>();
		
		canSell = false;
	}