protected override void OnPickup(GameActor owner) { base.OnPickup(owner); shouldDoBulletSucc = false; if (owner.GetComponent <PlayerController>() != null) { PlayerController player = owner.GetComponent <PlayerController>(); } }
public void Init(ModularSpell owner) { _owner = owner.owner; _animator = _owner.GetComponent <Animator>(); owner.AddOnCastAction(this); }
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); }
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; } }