GameFramework.EntityController.CalcSenderAndTarget C# (CSharp) Метод

CalcSenderAndTarget() приватный Метод

private CalcSenderAndTarget ( GfxSkillSenderInfo senderObj, int &senderId, int &targetId ) : void
senderObj GfxSkillSenderInfo
senderId int
targetId int
Результат void
        internal void CalcSenderAndTarget(GfxSkillSenderInfo senderObj, out int senderId, out int targetId)
        {
            senderId = 0;
            targetId = 0;

            int targetType = GetTargetType(senderObj.ActorId, senderObj.ConfigData, senderObj.Seq);
            if (senderObj.ConfigData.type == (int)SkillOrImpactType.Skill) {
                senderId = senderObj.ActorId;
                targetId = senderObj.TargetActorId;
                if (targetType == (int)SkillTargetType.RandEnemy) {
                    targetId = GetRandEnemyId(GetCampId(senderId));
                } else if (targetType == (int)SkillTargetType.RandFriend) {
                    targetId = GetRandFriendId(GetCampId(senderId));
                } else if (targetType == (int)SkillTargetType.Friend) {
                    targetId = senderObj.ActorId;
                } else if (targetType == (int)SkillTargetType.Self) {
                    targetId = senderObj.ActorId;
                }
            } else {
                senderId = senderObj.TargetActorId;
                targetId = senderObj.ActorId;
                if (targetType == (int)SkillTargetType.RandEnemy) {
                    targetId = GetRandEnemyId(GetCampId(senderId));
                } else if (targetType == (int)SkillTargetType.RandFriend) {
                    targetId = GetRandFriendId(GetCampId(senderId));
                } else if (targetType == (int)SkillTargetType.Friend) {
                    targetId = senderObj.TargetActorId;
                } else if (targetType == (int)SkillTargetType.Self) {
                    targetId = senderObj.TargetActorId;
                }
            }
        }

Usage Example

Пример #1
0
 static public int CalcSenderAndTarget(IntPtr l)
 {
     try {
         GameFramework.EntityController         self = (GameFramework.EntityController)checkSelf(l);
         GameFramework.Skill.GfxSkillSenderInfo a1;
         checkType(l, 2, out a1);
         System.Int32 a2;
         System.Int32 a3;
         self.CalcSenderAndTarget(a1, out a2, out a3);
         pushValue(l, true);
         pushValue(l, a2);
         pushValue(l, a3);
         return(3);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }