コード例 #1
0
ファイル: SkillUseParam.cs プロジェクト: isoundy000/wzry-1
 public void Init(SkillSlotType InSlot, VInt3 InVec, bool bSpecial)
 {
     this.SlotType    = InSlot;
     this.UseVector   = InVec;
     this.AppointType = SkillRangeAppointType.Directional;
     this.bSpecialUse = bSpecial;
 }
コード例 #2
0
 public Skill(int id)
 {
     this.SkillID    = id;
     this.skillAbort = new SkillAbort();
     this.skillAbort.InitAbort(false);
     this.bDelayAbortSkill   = false;
     this.bProtectAbortSkill = false;
     this.cfgData            = GameDataMgr.skillDatabin.GetDataByKey((long)id);
     if (this.cfgData != null)
     {
         this.ActionName = StringHelper.UTF8BytesToString(ref this.cfgData.szPrefab);
         DebugHelper.Assert(this.ActionName != null, "Action name is null in skill databin id = {0}", new object[]
         {
             id
         });
         this.GuidePrefabName      = StringHelper.UTF8BytesToString(ref this.cfgData.szGuidePrefab);
         this.GuideWarnPrefabName  = StringHelper.UTF8BytesToString(ref this.cfgData.szGuideWarnPrefab);
         this.EffectPrefabName     = StringHelper.UTF8BytesToString(ref this.cfgData.szEffectPrefab);
         this.EffectWarnPrefabName = StringHelper.UTF8BytesToString(ref this.cfgData.szEffectWarnPrefab);
         this.FixedPrefabName      = StringHelper.UTF8BytesToString(ref this.cfgData.szFixedPrefab);
         this.FixedWarnPrefabName  = StringHelper.UTF8BytesToString(ref this.cfgData.szFixedWarnPrefab);
         this.IconName             = StringHelper.UTF8BytesToString(ref this.cfgData.szIconPath);
         this.SkillCD        = 5f;
         this.AppointType    = (SkillRangeAppointType)this.cfgData.bRangeAppointType;
         this.bAgeImmeExcute = (this.cfgData.bAgeImmeExcute == 1);
     }
     this.battleParam = GameDataMgr.battleParam.GetAnyData();
 }
コード例 #3
0
ファイル: SkillUseParam.cs プロジェクト: isoundy000/wzry-1
 public void Init(SkillSlotType InSlot, VInt3 InVec)
 {
     this.SlotType    = InSlot;
     this.UseVector   = InVec;
     this.AppointType = SkillRangeAppointType.Pos;
     this.bSpecialUse = false;
 }
コード例 #4
0
 public void Init(SkillSlotType InSlot, VInt3 InVec, bool bSpecial, uint iTagertId)
 {
     this.SlotType    = InSlot;
     this.UseVector   = InVec;
     this.AppointType = SkillRangeAppointType.Directional;
     this.bSpecialUse = bSpecial;
     this.TargetID    = iTagertId;
 }
コード例 #5
0
ファイル: SkillUseParam.cs プロジェクト: isoundy000/wzry-1
        public void Init(SkillSlotType InSlot, uint ObjID)
        {
            this.SlotType    = InSlot;
            this.TargetID    = ObjID;
            this.TargetActor = Singleton <GameObjMgr> .GetInstance().GetActor(this.TargetID);

            this.UseVector   = (this.TargetActor == 0) ? VInt3.zero : this.TargetActor.handle.location;
            this.AppointType = SkillRangeAppointType.Target;
            this.bSpecialUse = false;
        }
コード例 #6
0
ファイル: SkillUseParam.cs プロジェクト: isoundy000/wzry-1
 public void Reset()
 {
     this.SlotType    = SkillSlotType.SLOT_SKILL_0;
     this.AppointType = SkillRangeAppointType.Auto;
     this.TargetID    = 0;
     this.UseVector   = VInt3.zero;
     this.bSpecialUse = false;
     this.TargetActor.Release();
     this.Originator.Release();
     this.Instigator = null;
 }
コード例 #7
0
 public void Reset()
 {
     this.SlotType    = SkillSlotType.SLOT_SKILL_0;
     this.AppointType = SkillRangeAppointType.Auto;
     this.TargetID    = 0u;
     this.UseVector   = VInt3.zero;
     this.bSpecialUse = false;
     this.bExposing   = false;
     this.TargetActor.Release();
     this.Originator.Release();
     this.Instigator   = null;
     this.skillUseFrom = SKILL_USE_FROM_TYPE.SKILL_USE_FROM_TYPE_SKILL;
     this.uiFromId     = 0u;
     this.MarkCount    = 0;
 }
コード例 #8
0
        public override void Process(Action _action, Track _track)
        {
            PoolObjHandle <ActorRoot> actorHandle = _action.GetActorHandle(this.targetId);

            if (!actorHandle)
            {
                if (ActionManager.Instance.isPrintLog)
                {
                }
                return;
            }
            SkillComponent skillControl = actorHandle.get_handle().SkillControl;

            if (skillControl == null)
            {
                if (ActionManager.Instance.isPrintLog)
                {
                }
                return;
            }
            SkillUseContext refParamObject = _action.refParams.GetRefParamObject <SkillUseContext>("SkillContext");

            if (refParamObject != null)
            {
                refParamObject.BulletPos = refParamObject.UseVector;
                SkillRangeAppointType appointType = refParamObject.AppointType;
                if (this.bSpawnBounceBullet)
                {
                    appointType = refParamObject.AppointType;
                    refParamObject.AppointType = 1;
                }
                if (!refParamObject.bSpecialUse)
                {
                    if (this.ActionName != string.Empty)
                    {
                        skillControl.SpawnBullet(refParamObject, this.ActionName, this.bDeadRemove, this.bAgeImmeExcute, this.bulletTypeId, this.bulletUpperLimit);
                    }
                }
                else if (this.SpecialActionName != string.Empty)
                {
                    skillControl.SpawnBullet(refParamObject, this.SpecialActionName, this.bDeadRemove, this.bAgeImmeExcute, this.bulletTypeId, this.bulletUpperLimit);
                }
                refParamObject.AppointType = appointType;
            }
        }
コード例 #9
0
ファイル: SkillUseParam.cs プロジェクト: isoundy000/wzry-1
 public void Init(SkillSlotType InSlot)
 {
     this.SlotType    = InSlot;
     this.bSpecialUse = false;
     this.AppointType = SkillRangeAppointType.Target;
 }
コード例 #10
0
 public void Init(SkillSlotType InSlot)
 {
     this.SlotType    = InSlot;
     this.bSpecialUse = false;
     this.AppointType = 1;
 }