Exemple #1
0
 protected override void OnPickup(GameActor owner)
 {
     base.OnPickup(owner);
     shouldDoBulletSucc = false;
     if (owner.GetComponent <PlayerController>() != null)
     {
         PlayerController player = owner.GetComponent <PlayerController>();
     }
 }
Exemple #2
0
        public void Init(ModularSpell owner)
        {
            _owner    = owner.owner;
            _animator = _owner.GetComponent <Animator>();

            owner.AddOnCastAction(this);
        }
Exemple #3
0
        public void Init(ModularSpell owner)
        {
            _owner = owner.owner;
            if (!animateCaster)
            {
                _animator = _owner.GetComponent <Animator>();
            }

            owner.AddOnHitAction(this);
        }
 private static bool SlasherIsPlayerOrFriendly(GameActor slasher)
 {
     if (slasher is PlayerController)
     {
         return(true);
     }
     if (slasher is AIActor)
     {
         if (slasher.GetComponent <CompanionController>())
         {
             return(true);
         }
         if (!slasher.aiActor.CanTargetPlayers && slasher.aiActor.CanTargetEnemies)
         {
             return(true);
         }
     }
     return(false);
 }
Exemple #5
0
        public void OnHit(GameActor actor, Vector3 castDirection, Vector3 movementDirection)
        {
            if (animateCaster)
            {
                if (_animator)
                {
                    _animator.SetTrigger(triggerName);
                }
            }
            else
            {
                Animator hitAnimator = actor.GetComponent <Animator>();

                if (hitAnimator)
                {
                    hitAnimator.SetTrigger(triggerName);
                }
            }
        }
    public void OnEvent(EventData eventData)
    {
        Debug.Log((AckEventType)eventData.Code);
        //server raised an event
        switch ((AckEventType)eventData.Code)
        {
        // store player ID
        case AckEventType.AssignPlayerID:
            IActor    player        = GeneralFunc.Deserialize <IActor>(eventData.Parameters[0] as byte[]);
            GameActor playerCreated = Instantiate
                                      (
                playerPref,
                new Vector3(player.posX, 0.5f, player.posY),
                playerPref.transform.rotation
                                      ) as GameActor;
            playerCreated.SetActor(player);
            playerCreated.GetComponent <OwnerInfo>().SetOwnerID(player.peerID);
            StarCollectorClient.playerID = player.peerID;
            playerCreated.GetComponent <CheckRegion>().Load();
            break;

        // create actor
        case AckEventType.CreateActor:
            if (eventData.Parameters.ContainsKey((byte)Parameter.Creep))
            {
                List <IActor> listAllCreep = GeneralFunc.Deserialize <List <IActor> >(eventData.Parameters[(byte)Parameter.Creep] as byte[]);
                Debug.Log("count all creep :" + listAllCreep.Count);
                List <IActor> listSameCreep = GetListSameActor(listAllCreep, GameActor.listCreep);

                List <IActor> listNewCreep = listAllCreep.Except(listSameCreep).ToList();

                List <GameActor> listDeleteCreep = GameActor.listCreep.Where(a => !listAllCreep.Any(b => b.actorID == a.actor.actorID)).ToList();

                foreach (var creepDelete in listDeleteCreep)
                {
                    creepDelete.Destruct();
                }

                foreach (var creep in listNewCreep)
                {
                    GameActor creepCreated = Instantiate(creepPref, new Vector3(creep.posX, 0.5f, creep.posY), playerPref.transform.rotation) as GameActor;
                    creepCreated.SetActor(creep);
                    creepCreated.GetComponent <CheckRegion>().Load();
                }
            }
            if (eventData.Parameters.ContainsKey((byte)Parameter.Regions))
            {
                InterestRegions dataInterestRegion = GeneralFunc.Deserialize <InterestRegions>(eventData.Parameters[(byte)Parameter.Regions] as byte[]);

                if (dataInterestRegion.playerPosition != null)
                {
                    Debug.Log(string.Format("player position -------------- x: {0} - y: {1}", dataInterestRegion.playerPosition.x, dataInterestRegion.playerPosition.y));
                }

                //foreach (var data in dataInterestRegion.listRegion)
                //{
                //    Debug.Log(string.Format("x: {0} - y: {1}",data.x,data.y));
                //}

                AreaController.Instance.ShowInterestRegion(dataInterestRegion.listRegion);
            }
            break;

        case AckEventType.DestroyActor:
            if (eventData.Parameters.ContainsKey((byte)Parameter.Data))
            {
                IActor    playerDestroy    = GeneralFunc.Deserialize <IActor>(eventData.Parameters[(byte)Parameter.Data] as byte[]);
                GameActor gameActorDestroy = GameActor.listPlayer.Where(a => a.actor.actorID == playerDestroy.actorID).FirstOrDefault();
                if (gameActorDestroy != null)
                {
                    gameActorDestroy.Destruct();
                }
            }
            break;

        // log chat messages
        case AckEventType.ChatMessage:
            break;
        }
    }