Пример #1
0
    private void EnemyBullet_Player(JIBulletProperty enemyBullet, PlayerProperty player)
    {
        if (!player.m_god)
        {
            player.GetComponentInChildren <PlayerTakeDamage> ().PlayerDeath();
        }

        if (enemyBullet.Type == JIBulletType.Normal)
        {
            BulletPool.Instance.ReleaseGameObject(enemyBullet.gameObject);
        }
        else
        {
            Destroy(enemyBullet.gameObject);
        }
    }
    private void OnEnable()
    {
        _player        = GetComponent <PlayerProperty>();
        _playerShotter = GetComponent <PlayerShot>();
        _rig2D         = GetComponent <Rigidbody2D>();

        _trigger = new GameObject("Aim Detecter").AddComponent <CircleCollider2D>();
        _trigger.transform.parent   = transform;
        _trigger.transform.position = transform.position;
        _trigger.radius             = _player.DetectRadius;
        _trigger.gameObject.layer   = LayerMask.NameToLayer("Background");
        _trigger.isTrigger          = true;
        _detecter = _trigger.gameObject.AddComponent <Detecter>();

        _playerShotter.enabled = false;
    }
Пример #3
0
 public PlayerProperty finPlayerByState(bool state, List <PlayerProperty> list)
 {
     if (list == null)
     {
         return(player);
     }
     foreach (PlayerProperty pl in list)
     {
         if (pl.IsPlaying == state)
         {
             player = pl;
             break;
         }
     }
     return(player);
 }
Пример #4
0
        public void DetailsTest()
        {
            PlayerProperty v = new PlayerProperty();

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                v.TypeId = 80;
                v.Level  = 98;
                v.Value  = 7;
                context.Set <PlayerProperty>().Add(v);
                context.SaveChanges();
            }
            PartialViewResult rv = (PartialViewResult)_controller.Details(v.ID.ToString());

            Assert.IsInstanceOfType(rv.Model, typeof(IBaseCRUDVM <TopBasePoco>));
            Assert.AreEqual(v.ID, (rv.Model as IBaseCRUDVM <TopBasePoco>).Entity.GetID());
        }
Пример #5
0
 // Start is called before the first frame update
 void Start()
 {
     if (isLocalPlayer)
     {
         localPlayer = this;
         UIMgr.instance.PlayerPropertyInstance = this;
         CameraLocation();
     }
     else
     {
         anotherPlayer = this;
     }
     playerAmination.UpdateAnimatin(true);
     healthyUI = UIMgr.instance.CreatHealthyUI().GetComponent <HealthyUI>();
     healthyUI.Init(transform, 100, 100);
     GameMgr.instance.AddFristUpdateEventListener(UpdateHealthy);
 }
Пример #6
0
    private void Start()
    {
        _property     = GetComponent <PlayerProperty>();
        _spriteRender = _property.m_spriteReference;


        switch (_property.m_playerState)
        {
        case PlayerProperty.PlayerStateType.White:
            _spriteRender.sprite = m_whiteSprite;
            break;

        case PlayerProperty.PlayerStateType.Black:
            _spriteRender.sprite = m_blackSprite;
            break;
        }
    }
    public void Remove(int seq)
    {
        GameObject gameObject = Get(seq);

        if (gameObject != null)
        {
            LetMeKnowABrickManIsBeingRemoved(gameObject);
            Camera[] componentsInChildren = gameObject.GetComponentsInChildren <Camera>();
            if (componentsInChildren != null)
            {
                for (int i = 0; i < componentsInChildren.Length; i++)
                {
                    if (null != componentsInChildren[i])
                    {
                        componentsInChildren[i].enabled = false;
                        if (null != componentsInChildren[i].targetTexture)
                        {
                            freeOverlayQ.Enqueue(componentsInChildren[i].targetTexture);
                        }
                    }
                }
            }
            TPController component = gameObject.GetComponent <TPController>();
            if (component != null)
            {
                component.destroyCongratulation();
            }
            PlayerProperty componentInChildren = gameObject.GetComponentInChildren <PlayerProperty>();
            if (null != componentInChildren)
            {
                freeInvisiblePositionQ.Enqueue(componentInChildren.InvisiblePosition);
            }
            InvincibleArmor component2 = gameObject.GetComponent <InvincibleArmor>();
            if (null != component2)
            {
                component2.Destroy();
            }
            Object.Destroy(gameObject);
            dicBrickMan.Remove(seq);
        }
        if (dicDescriptor.ContainsKey(seq))
        {
            dicDescriptor.Remove(seq);
        }
    }
Пример #8
0
    public PlayerProperty finPlayerByName(string pName)
    {
        PlayerProperty ppl = null;

        if (gamePlayers == null)
        {
            return(ppl);
        }
        foreach (PlayerProperty pl in gamePlayers)
        {
            if (pl.PlayerName == pName)
            {
                ppl = pl;
                break;
            }
        }
        return(ppl);
    }
Пример #9
0
    protected virtual void Start()
    {
        player = GameManager.GetInstance().GetPlayer().GetComponent <PlayerProperty>();
        if (!isGoods)
        {
            return;
        }
        var hint = gameObject.AddComponent <TriggerDisplay>();

        hint.content = "购买";
        priceText    = Resources.Load <GameObject>("Prefabs/UI/PriceDisplay");
        if (TryGetComponent <Rigidbody2D>(out var rb))
        {
            rb.bodyType = RigidbodyType2D.Static;
        }
        priceTextInstance = Instantiate(priceText, transform.position, Quaternion.identity);
        value             = priceTextInstance.GetComponentInChildren <Text>();
    }
Пример #10
0
        public void EditTest()
        {
            PlayerProperty v = new PlayerProperty();

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                v.TypeId = 80;
                v.Level  = 98;
                v.Value  = 7;
                context.Set <PlayerProperty>().Add(v);
                context.SaveChanges();
            }

            PartialViewResult rv = (PartialViewResult)_controller.Edit(v.ID.ToString());

            Assert.IsInstanceOfType(rv.Model, typeof(PlayerPropertyVM));

            PlayerPropertyVM vm = rv.Model as PlayerPropertyVM;

            v    = new PlayerProperty();
            v.ID = vm.Entity.ID;

            v.TypeId  = 35;
            v.Level   = 62;
            v.Value   = 93;
            vm.Entity = v;
            vm.FC     = new Dictionary <string, object>();

            vm.FC.Add("Entity.TypeId", "");
            vm.FC.Add("Entity.Level", "");
            vm.FC.Add("Entity.Value", "");
            _controller.Edit(vm);

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                var data = context.Set <PlayerProperty>().FirstOrDefault();

                Assert.AreEqual(data.TypeId, 35);
                Assert.AreEqual(data.Level, 62);
                Assert.AreEqual(data.Value, 93);
                Assert.AreEqual(data.UpdateBy, "user");
                Assert.IsTrue(DateTime.Now.Subtract(data.UpdateTime.Value).Seconds < 10);
            }
        }
Пример #11
0
    public override bool ExcuteAction(PlayerProperty playerProperty)
    {
        CurrentTimeFrame++;

        if (CurrentTimeFrame == (m_actionTimeFrame / 2))
        {
            var playerChangeStateComponent = playerProperty.GetComponent <PlayerChangeState>();

            if (playerChangeStateComponent == null)
            {
                Debug.LogError("Can not change state because the PlayerChangeState component is not add to player!");
                return(false);
            }

            playerChangeStateComponent.ChangeState();
        }

        return(CurrentTimeFrame > m_actionTimeFrame);
    }
    //KnockBack 부분 수정
    IEnumerator KnockBack(PlayerProperty playerProperty)
    {
        enemyProperty.BeAttacked = true;
        if (transform.localScale.x < 0)
        {
            transform.Translate(Vector3.left * enemyProperty.KnockBackDist);
        }
        else
        {
            transform.Translate(Vector3.right * enemyProperty.KnockBackDist);
        }
        yield return(new WaitForSeconds(0.3f));

        enemyProperty.BeAttacked = false;
        if (!enemyProperty.IsDead)
        {
            Animation(1);
        }
    }
    public GameObject GetNextPlayer(GameObject obj, bool excludingMe, bool friendlyOnly)
    {
        PlayerProperty component = obj.GetComponent <PlayerProperty>();

        if (null != component)
        {
            BrickManDesc[] array = ToPlayingDescArray(friendlyOnly);
            if (array != null && array.Length > 0)
            {
                bool flag = false;
                List <BrickManDesc> list  = new List <BrickManDesc>();
                List <BrickManDesc> list2 = new List <BrickManDesc>();
                for (int i = 0; i < array.Length; i++)
                {
                    if (array[i].Seq == component.Desc.Seq)
                    {
                        flag = true;
                    }
                    else if (flag)
                    {
                        list2.Add(array[i]);
                    }
                    else
                    {
                        list.Add(array[i]);
                    }
                }
                if (list2.Count > 0)
                {
                    return(Get(list2[0].Seq));
                }
                if (list.Count > 0)
                {
                    return(Get(list[0].Seq));
                }
            }
        }
        if (excludingMe)
        {
            return(null);
        }
        return(obj);
    }
Пример #14
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.gameObject.tag == "Player")
     {
         playerproperty = other.gameObject.GetComponent <PlayerProperty>();
         if (playerproperty != null)
         {
             audio.Play();
             playerproperty.addPoint(1);
             playerhud.updatePoint();
             meshrender.enabled   = false;
             meshcollider.enabled = false;
         }
         else
         {
             return;
         }
     }
 }
Пример #15
0
    //override PlayerImpact adding knockback on top of damaging player.
    protected override void PlayerImpact(PlayerMovement player)
    {
        IEnumerator KnockbackTimer()
        {
            PlayerProperty playerproperty = player.GetComponent <PlayerProperty>();
            PlayerMovement playermovement = player.GetComponent <PlayerMovement>();

            playermovement.velocity   = playermovement.transform.forward * -(PushForce);
            playermovement.velocity.y = (2);
            playerproperty.isHurt     = true;
            yield return(new WaitForSeconds(.5f));

            playermovement.velocity   = Vector3.zero;
            playermovement.velocity.y = 0;
            playerproperty.isHurt     = false;
        }

        StartCoroutine(KnockbackTimer());
    }
 private void OnGUI()
 {
     if (!GlobalVars.Instance.hideEnemyForcesNickname && MyInfoManager.Instance.isGuiOn && !MyInfoManager.Instance.IsSpectator)
     {
         GUISkin skin = GUI.skin;
         GUI.skin    = GUISkinFinder.Instance.GetGUISkin();
         GUI.depth   = (int)guiDepth;
         GUI.enabled = !DialogManager.Instance.IsModal;
         GameObject[] array = BrickManManager.Instance.ToGameObjectArray();
         for (int i = 0; i < array.Length; i++)
         {
             Vector3 position = array[i].transform.position;
             position.y += 2f;
             Vector3 position2 = array[i].transform.position;
             position2.y += 1f;
             PlayerProperty component = array[i].GetComponent <PlayerProperty>();
             if (null != component && component.IsHostile() && !component.Desc.IsHidePlayer)
             {
                 bool flag = false;
                 if (enemy != null && enemy.Seq == component.Desc.Seq)
                 {
                     flag = true;
                 }
                 if (!flag && IsVisible(position2, component.Desc.Seq))
                 {
                     flag = true;
                 }
                 if (flag)
                 {
                     Vector3 vector = cam.WorldToViewportPoint(position);
                     if (vector.z > 0f && 0f < vector.x && vector.x < 1f && 0f < vector.y && vector.y < 1f)
                     {
                         Vector3 sp = cam.WorldToScreenPoint(position);
                         LabelUtil.TextOut(sp, component.Desc.Nickname, "Label", Color.red, Color.black, TextAnchor.LowerCenter);
                     }
                 }
             }
         }
         GUI.enabled = true;
         GUI.skin    = skin;
     }
 }
Пример #17
0
 private void Update()
 {
     if (target != null)
     {
         PlayerProperty component = target.GetComponent <PlayerProperty>();
         if (custom_inputs.Instance.GetButtonDown("K_JUMP") || null == component || component.Desc.IsHidePlayer)
         {
             target = BrickManManager.Instance.GetNextPlayer(target, excludingMe: false, LookFriendlyOnly());
             if (null == target)
             {
                 base.transform.parent = null;
             }
             else
             {
                 base.transform.parent = target.transform;
             }
         }
     }
     if (!MyInfoManager.Instance.IsGM || !Screen.lockCursor || Input.GetKeyDown(KeyCode.F4))
     {
     }
     VerifyLocalController();
     VerifySpectatorController();
     if (curMode != MyInfoManager.Instance.ControlMode)
     {
         curMode = MyInfoManager.Instance.ControlMode;
         ModeChange();
     }
     VerifyTarget();
     deltaTime += Time.deltaTime;
     if (deltaTime > 0.2f)
     {
         deltaTime = 0f;
         P2PManager.Instance.SendPEER_SPECTATOR();
         if (MyInfoManager.Instance.ControlMode == MyInfoManager.CONTROL_MODE.SPECTATOR_MODE)
         {
             GM_COMMAND_LOGER.SendLog(GM_COMMAND_LOGER.GM_COMMAND_LOG.CAMERA_SPECTATOR_USE);
         }
     }
 }
Пример #18
0
 private void OnTriggerStay(Collider other)
 {
     if (other.gameObject.tag == "Player")
     {
         playerproperty = other.gameObject.GetComponent <PlayerProperty>();
         if (playerproperty != null && playerproperty._CurrentHealth < playerproperty.MaxHealth)
         {
             audio.Play();
             playerproperty.Heal(5);
             playerhud.updateHealthSlider();
             meshrender.enabled   = false;
             meshcollider.enabled = false;
             particle.Stop();
             light.enabled = false;
             Debug.Log(playerproperty._CurrentHealth);
         }
         else
         {
             return;
         }
     }
 }
Пример #19
0
 public static void CheckBoxmen(Vector3 boomPos, int boomDamage, float boomRadius, int weaponBy, float rigidity)
 {
     HitPart[] array = CheckBoxmen(boomPos, boomRadius, includeFriendly: false);
     for (int i = 0; i < array.Length; i++)
     {
         PlayerProperty[] allComponents = Recursively.GetAllComponents <PlayerProperty>(array[i].transform, includeInactive: false);
         if (allComponents.Length == 1)
         {
             allComponents[0].Desc.accumDamaged += Mathf.FloorToInt(array[i].damageFactor * CalcPowFrom(boomPos, array[i].transform.position, boomDamage, boomRadius));
         }
     }
     GameObject[] array2 = BrickManManager.Instance.ToGameObjectArray();
     for (int j = 0; j < array2.Length; j++)
     {
         PlayerProperty component = array2[j].GetComponent <PlayerProperty>();
         if (null != component && component.Desc.accumDamaged > 0)
         {
             P2PManager.Instance.SendPEER_BOMBED(MyInfoManager.Instance.Seq, component.Desc.Seq, component.Desc.accumDamaged, rigidity, weaponBy);
             component.Desc.accumDamaged = 0;
         }
     }
 }
Пример #20
0
 private void CheckBoxmen(Vector3 boomPos)
 {
     HitPart[] array = ExplosionUtil.CheckBoxmen(boomPos, Radius, includeFriendly: false);
     for (int i = 0; i < array.Length; i++)
     {
         PlayerProperty[] allComponents = Recursively.GetAllComponents <PlayerProperty>(array[i].transform, includeInactive: false);
         if (allComponents.Length == 1)
         {
             int num = Mathf.FloorToInt(array[i].damageFactor * CalcPowFrom(boomPos, array[i].transform.position));
             if (num > 0)
             {
                 WeaponFunction component = GetComponent <WeaponFunction>();
                 if (null == component)
                 {
                     Debug.LogError("wpnFunc == null");
                 }
                 TWeapon tWeapon = (TWeapon)GetComponent <Weapon>().tItem;
                 if (tWeapon == null)
                 {
                     Debug.LogError("wpn == null");
                 }
                 Item usingEquipByCode = MyInfoManager.Instance.GetUsingEquipByCode(tWeapon.code);
                 num = GlobalVars.Instance.applyDurabilityDamage(usingEquipByCode?.Durability ?? (-1), tWeapon.durabilityMax, num);
                 allComponents[0].Desc.accumDamaged += num;
             }
         }
     }
     GameObject[] array2 = BrickManManager.Instance.ToGameObjectArray();
     for (int j = 0; j < array2.Length; j++)
     {
         PlayerProperty component2 = array2[j].GetComponent <PlayerProperty>();
         if (null != component2 && component2.Desc.accumDamaged > 0)
         {
             P2PManager.Instance.SendPEER_BOMBED(MyInfoManager.Instance.Seq, component2.Desc.Seq, component2.Desc.accumDamaged, Rigidity, (int)weaponBy);
             component2.Desc.accumDamaged = 0;
             realExplosion = true;
         }
     }
 }
Пример #21
0
    public static HitPart[] CheckBoxmen(Vector3 position, float radius, bool includeFriendly)
    {
        List <HitPart> list      = new List <HitPart>();
        int            layerMask = (1 << LayerMask.NameToLayer("Chunk")) | (1 << LayerMask.NameToLayer("Brick")) | (1 << LayerMask.NameToLayer("Me")) | (1 << LayerMask.NameToLayer("BoxMan")) | (1 << LayerMask.NameToLayer("InvincibleArmor")) | (1 << LayerMask.NameToLayer("Bomb")) | (1 << LayerMask.NameToLayer("InstalledBomb"));

        GameObject[] array = BrickManManager.Instance.ToGameObjectArray();
        for (int i = 0; i < array.Length; i++)
        {
            PlayerProperty component = array[i].GetComponent <PlayerProperty>();
            if (null != component && (includeFriendly || component.Desc.IsHostile()) && Vector3.Distance(position, array[i].transform.position) < radius)
            {
                HitPart[] componentsInChildren = array[i].GetComponentsInChildren <HitPart>();
                for (int j = 0; j < componentsInChildren.Length; j++)
                {
                    if (Physics.Linecast(position, componentsInChildren[j].transform.position, out RaycastHit hitInfo, layerMask) && hitInfo.transform.gameObject == componentsInChildren[j].transform.gameObject)
                    {
                        list.Add(componentsInChildren[j]);
                    }
                }
            }
        }
        return(list.ToArray());
    }
Пример #22
0
    void Awake()
    {
        playerProperty  = GetComponent <PlayerProperty>();
        playerBehaviour = GetComponent <PlayerBehaviour>();

        playerProperty.Attackable = true;
        playerProperty.IsDead     = false;
        tempIdx = 0;

        /* 임시 오브젝트 풀링 코드, 추후에는 해당 클래스의 이펙트 풀을 읽어와 동적으로
         * 생성하는 방향으로 구현해야 할 것.
         */
        SlashObjectPool  = GameObject.Find("SlashEffect");
        SlashEffectsPool = GameObject.Find("SlashSubEffectPool");
        SlashEffects     = new Transform[SlashObjectPool.transform.childCount];
        SlashSubEffects  = new Transform[SlashObjectPool.transform.childCount];
        for (int i = 0; i < SlashObjectPool.transform.childCount; i++)
        {
            SlashEffects[i]    = SlashObjectPool.transform.GetChild(i);
            SlashSubEffects[i] = SlashEffectsPool.transform.GetChild(i);
        }
        Init();
    }
Пример #23
0
    private void RaiseCollisionEvent(Collider2D other)
    {
        EnemyProperty enemy = other.transform.GetComponent <EnemyProperty> ();

        if (enemy != null)
        {
            EventManager.Instance.Raise(new BulletAttackEvent(
                                            _bullet, new JIColliderUnit(enemy)));
            return;
        }

        PlayerProperty player = other.transform.parent?.GetComponent <PlayerProperty> ();

        if (player != null)
        {
            EventManager.Instance.Raise(new BulletAttackEvent(
                                            _bullet, new JIColliderUnit(player)));
            return;
        }

        JIBulletProperty bullet = other.transform.parent?.GetComponent <JIBulletProperty> ();

        if (bullet != null)
        {
            if (bullet.IsPlayerBullet)
            {
                EventManager.Instance.Raise(new BulletAttackEvent(
                                                _bullet, new JIColliderUnit(bullet, JIColliderUnitType.PlayerBullet)));
            }
            else
            {
                EventManager.Instance.Raise(new BulletAttackEvent(
                                                _bullet, new JIColliderUnit(bullet, JIColliderUnitType.EnemyBullet)));
            }
            return;
        }
    }
Пример #24
0
    public void Init(PlayerProperty pp, Transform tf)
    {
        playerProperty            = pp;
        transform_                = tf;
        playerProperty.Attackable = true;
        playerProperty.IsDead     = false;
        tempIdx = 0;

        SkillImage = Resources.Load <Sprite>("SkillImage/" + GetType().Name.Substring(0, GetType().Name.Length - 5));
        GameObject.Find("SkillButton").transform.GetChild(0).GetComponent <Image>().overrideSprite = SkillImage;

        /* 임시 오브젝트 풀링 코드, 추후에는 해당 클래스의 이펙트 풀을 읽어와 동적으로
         * 생성하는 방향으로 구현해야 할 것.
         */
        SlashObjectPool  = GameObject.Find("SlashEffect");
        SlashEffectsPool = GameObject.Find("SlashSubEffectPool");
        SlashEffects     = new Transform[SlashObjectPool.transform.childCount];
        SlashSubEffects  = new Transform[SlashObjectPool.transform.childCount];
        for (int i = 0; i < SlashObjectPool.transform.childCount; i++)
        {
            SlashEffects[i]    = SlashObjectPool.transform.GetChild(i);
            SlashSubEffects[i] = SlashEffectsPool.transform.GetChild(i);
        }
    }
Пример #25
0
 public virtual bool RollBackAction(PlayerProperty playerProperty)
 {
     return(false);
 }
Пример #26
0
 // Return true if the action is done
 public virtual bool ExcuteAction(PlayerProperty playerProperty)
 {
     return(false);
 }
Пример #27
0
 private void OnEnable()
 {
     _player = GetComponent <PlayerProperty> ();
 }
Пример #28
0
 void CmdKeyUp(PlayerProperty playerProperty, KeyCode key)
 {
     playerProperty.EventCenterInstance.EventTrigger("keyUp", key);
     playerProperty.EventCenterInstance.EventTrigger("key" + key + "Up");
     RpcKeyUp(key);
 }
Пример #29
0
 set => SetValue(PlayerProperty, value);
Пример #30
0
 /// <summary>
 /// This function is called when the object becomes enabled and active.
 /// </summary>
 private void OnEnable()
 {
     _player = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerProperty> ();
 }