コード例 #1
0
 private void OnLocalAvatarChanged(BaseMonoAvatar from, BaseMonoAvatar to)
 {
     if (this._owner.monster.AttackTarget == from)
     {
         this._owner.monster.SetAttackTarget(to);
     }
 }
コード例 #2
0
ファイル: MonoAvatarButton.cs プロジェクト: slb1988/agame
        public void InitForReviveButton(BaseMonoAvatar avatar)
        {
            this._button         = base.GetComponent <Button>();
            this._hpBarImg       = base.transform.Find("HPBar/Inner").GetComponent <Image>();
            this._spBarImg       = base.transform.Find("SPBar/Inner").GetComponent <Image>();
            this._iconImage      = base.transform.Find("Icon").GetComponent <Image>();
            this._CDMaskImg      = base.transform.Find("CDMask").GetComponent <Image>();
            this.avatarRuntimeID = avatar.GetRuntimeID();
            this._avatar         = avatar;
            this._avatarActor    = (AvatarActor)Singleton <EventManager> .Instance.GetActor(this.avatarRuntimeID);

            GameObject obj2 = Miscs.LoadResource <GameObject>(this._avatarActor.avatarIconPath, BundleType.RESOURCE_FILE);

            this._iconImage.sprite = obj2.GetComponent <SpriteRenderer>().sprite;
            Transform transform = base.transform.Find("Attr");

            for (int i = 0; i < transform.childCount; i++)
            {
                transform.GetChild(i).gameObject.SetActive(false);
            }
            transform.Find(this._avatarActor.avatarDataItem.Attribute.ToString()).gameObject.SetActive(true);
            this.onlyForShow          = true;
            this._button.interactable = true;
            base.transform.Find("CDMask").gameObject.SetActive(true);
        }
コード例 #3
0
ファイル: MonoAvatarButton.cs プロジェクト: slb1988/agame
        public void OnClick()
        {
            if (this.canChange)
            {
                BaseMonoAvatar localAvatar = Singleton <AvatarManager> .Instance.GetLocalAvatar();

                if (this._avatar.IsAlive())
                {
                    if ((!this._avatar.IsControlMuted() && localAvatar.IsAnimatorInTag(AvatarData.AvatarTagGroup.AllowTriggerInput)) && (localAvatar.GetRuntimeID() != this.avatarRuntimeID))
                    {
                        Singleton <LevelManager> .Instance.levelActor.TriggerSwapLocalAvatar(localAvatar.GetRuntimeID(), this.avatarRuntimeID, false);
                    }
                }
                else if (Singleton <LevelScoreManager> .Instance.LevelType != 4)
                {
                    Singleton <LevelManager> .Instance.SetPause(true);

                    if (Singleton <LevelManager> .Instance.levelActor.levelMode == LevelActor.Mode.Single)
                    {
                        Singleton <MainUIManager> .Instance.ShowDialog(new InLevelReviveDialogContext(this.avatarRuntimeID, localAvatar.transform.position, false), UIType.Any);
                    }
                    else if ((Singleton <LevelManager> .Instance.levelActor.levelMode == LevelActor.Mode.Multi) || (Singleton <LevelManager> .Instance.levelActor.levelMode == LevelActor.Mode.MultiRemote))
                    {
                        Singleton <MainUIManager> .Instance.ShowDialog(new InLevelReviveDialogContext(this.avatarRuntimeID, this._avatar.transform.position, false), UIType.Any);
                    }
                }
            }
        }
コード例 #4
0
        private static void FilterNearestMonsterTarget(BaseMonoAvatar aAvatar, List <BaseMonoMonster> monsters, ref BaseMonoEntity attackTarget)
        {
            float maxValue = float.MaxValue;

            foreach (BaseMonoMonster monster in monsters)
            {
                List <BaseMonoAbilityEntity> allHitboxEnabledBodyParts = monster.GetAllHitboxEnabledBodyParts();
                if (allHitboxEnabledBodyParts.Count > 0)
                {
                    foreach (BaseMonoAbilityEntity entity in allHitboxEnabledBodyParts)
                    {
                        float num2 = Vector3.Distance(entity.XZPosition, aAvatar.XZPosition);
                        if (num2 < maxValue)
                        {
                            attackTarget = entity;
                            maxValue     = num2;
                        }
                    }
                }
                else
                {
                    float num3 = Vector3.Distance(monster.XZPosition, aAvatar.XZPosition);
                    if (num3 < maxValue)
                    {
                        attackTarget = monster;
                        maxValue     = num3;
                    }
                }
            }
        }
コード例 #5
0
        public override void HandleLocalPlayerAvatarDie(BaseMonoAvatar diedAvatar)
        {
            diedAvatar.gameObject.SetActive(false);
            Singleton <CameraManager> .Instance.GetMainCamera().TransitToStatic();

            Singleton <MainUIManager> .Instance.GetInLevelUICanvas().mainPageContext.SetInLevelMainPageActive(false, false, false);
        }
コード例 #6
0
        public static void SelectNearestEnemyV1(BaseMonoAvatar aAvatar)
        {
            List <BaseMonoMonster> monsters = new List <BaseMonoMonster>();

            foreach (BaseMonoMonster monster in Singleton <MonsterManager> .Instance.GetAllMonsters())
            {
                if (monster.IsActive() && !monster.denySelect)
                {
                    monsters.Add(monster);
                }
            }
            if (monsters.Count != 0)
            {
                BaseMonoEntity attackTarget = null;
                if (monsters.Count > 0)
                {
                    FilterNearestMonsterTarget(aAvatar, monsters, ref attackTarget);
                }
                else
                {
                    attackTarget = null;
                }
                aAvatar.SetAttackTarget(attackTarget);
            }
        }
コード例 #7
0
 private static void FilterMonsterTargetByEllipse(BaseMonoAvatar aAvatar, List <BaseMonoMonster> monsters, Vector3 mainDirection, float eccentricity, ref BaseMonoEntity monsterTarget, ref float monsterScore)
 {
     for (int i = 0; i < monsters.Count; i++)
     {
         BaseMonoMonster target = monsters[i];
         if (!target.denySelect && target.IsActive())
         {
             List <BaseMonoAbilityEntity> allHitboxEnabledBodyParts = target.GetAllHitboxEnabledBodyParts();
             if (allHitboxEnabledBodyParts.Count > 0)
             {
                 foreach (BaseMonoAbilityEntity entity in allHitboxEnabledBodyParts)
                 {
                     float num2 = GetScoreByEllipse(aAvatar, entity, mainDirection, eccentricity);
                     if (num2 < monsterScore)
                     {
                         monsterTarget = entity;
                         monsterScore  = num2;
                     }
                 }
             }
             else
             {
                 float num3 = GetScoreByEllipse(aAvatar, target, mainDirection, eccentricity);
                 if (num3 < monsterScore)
                 {
                     monsterTarget = target;
                     monsterScore  = num3;
                 }
             }
         }
     }
 }
コード例 #8
0
        public static void SelectEnemyByEllipse(BaseMonoAvatar aAvatar)
        {
            List <BaseMonoMonster> monsters = new List <BaseMonoMonster>();

            foreach (BaseMonoMonster monster in Singleton <MonsterManager> .Instance.GetAllMonsters())
            {
                if (monster.IsActive() && !monster.denySelect)
                {
                    monsters.Add(monster);
                }
            }
            if (monsters.Count != 0)
            {
                BaseMonoEntity entity;
                Vector3        forward = Singleton <CameraManager> .Instance.GetMainCamera().Forward;

                if (aAvatar.GetActiveControlData().hasSteer)
                {
                    forward = aAvatar.GetActiveControlData().steerDirection;
                }
                forward.y = 0f;
                if (monsters.Count > 0)
                {
                    entity = monsters[0];
                    float eccentricity = 0.9f;
                    float monsterScore = GetScoreByEllipse(aAvatar, entity, forward, eccentricity);
                    FilterMonsterTargetByEllipse(aAvatar, monsters, forward, eccentricity, ref entity, ref monsterScore);
                }
                else
                {
                    entity = null;
                }
                aAvatar.SetAttackTarget(entity);
            }
        }
コード例 #9
0
        public override void OnStart()
        {
            this._attackState = AttackState.NONE;
            BaseMonoAvatar attackTarget = this._aiEntity.AttackTarget as BaseMonoAvatar;

            if (attackTarget == null)
            {
                this._isTargetLocalAvatar = false;
            }
            else
            {
                this._isTargetLocalAvatar = Singleton <AvatarManager> .Instance.IsLocalAvatar(attackTarget.GetRuntimeID());
            }
            if (this._isTargetLocalAvatar && this.AvatarBeAttackNum.IsShared)
            {
                this._levelAIPlugin.AddAttackingMonster(base.GetComponent <BaseMonoMonster>());
            }
            if (this.SteerToTargetOnStart || ((this.SkillIDs != null) && (this.SkillIDs.Length > 0)))
            {
                this._abilityEntity.onCurrentSkillIDChanged = (Action <string, string>)Delegate.Combine(this._abilityEntity.onCurrentSkillIDChanged, new Action <string, string>(this.MonsterSkillIDChanged));
                this._skillIDIx          = -1;
                this._hasSteeredToFacing = this.SteerToTargetOnStart;
            }
            this._abilityEntity.onBeHitCanceled = (Action <string>)Delegate.Combine(this._abilityEntity.onBeHitCanceled, new Action <string>(this.MonsterBeHitCanceld));
            if (this.HitSuccess.IsShared)
            {
                this.HitSuccess.SetValue(false);
            }
        }
コード例 #10
0
ファイル: StageManager.cs プロジェクト: slb1988/agame
        private void ApplyStageEffectSetting(ConfigStageEffectSetting setting)
        {
            BaseMonoAvatar localAvatar = Singleton <AvatarManager> .Instance.GetLocalAvatar();

            this.AddEntityEffectPredicates(localAvatar, setting.LocalAvatarEffectPredicates);
            this._localAvatarPredicates = setting.LocalAvatarEffectPredicates;
            if (setting.AvatarColorOverrides.Length > 0)
            {
                List <BaseMonoAvatar> allPlayerAvatars = Singleton <AvatarManager> .Instance.GetAllPlayerAvatars();

                for (int i = 0; i < allPlayerAvatars.Count; i++)
                {
                    BaseMonoAvatar     avatar2   = allPlayerAvatars[i];
                    MonoEffectOverride component = avatar2.GetComponent <MonoEffectOverride>();
                    if (component == null)
                    {
                        component = avatar2.gameObject.AddComponent <MonoEffectOverride>();
                    }
                    for (int j = 0; j < setting.AvatarColorOverrides.Length; j++)
                    {
                        ColorOverrideEntry entry = setting.AvatarColorOverrides[j];
                        component.colorOverrides.Add(entry.colorOverrideKey, entry.color);
                    }
                }
            }
        }
コード例 #11
0
        public uint RetargetByThreat(uint curTargetID)
        {
            int  num  = 0;
            uint num2 = 0;

            for (int i = 0; i < this._threatTable.Count; i++)
            {
                int num4 = this._threatTable.Values[i];
                if (num4 > num)
                {
                    uint runtimeID = this._threatTable.Keys[i];
                    if (Singleton <EventManager> .Instance.GetActor <AvatarActor>(runtimeID) != null)
                    {
                        BaseMonoAvatar avatarByRuntimeID = Singleton <AvatarManager> .Instance.GetAvatarByRuntimeID(runtimeID);

                        if ((avatarByRuntimeID != null) && avatarByRuntimeID.IsActive())
                        {
                            num  = num4;
                            num2 = this._threatTable.Keys[i];
                        }
                    }
                }
            }
            if (num2 != curTargetID)
            {
                float threat = this.GetThreat(curTargetID);
                if (num > (threat + 10f))
                {
                    return(num2);
                }
            }
            return(curTargetID);
        }
コード例 #12
0
ファイル: IsInAnimtorTag.cs プロジェクト: slb1988/agame
 public override TaskStatus OnUpdate()
 {
     if (this._entity is BaseMonoAvatar)
     {
         BaseMonoAvatar avatar = this._entity as BaseMonoAvatar;
         for (int i = 0; i < this.animatorTagNamesAvatar.Count; i++)
         {
             if (avatar.IsAnimatorInTag(this.animatorTagNamesAvatar[i]))
             {
                 return(TaskStatus.Success);
             }
         }
     }
     else if (this._entity is BaseMonoMonster)
     {
         BaseMonoMonster monster = this._entity as BaseMonoMonster;
         for (int j = 0; j < this.animatorTagNamesMonster.Count; j++)
         {
             if (monster.IsAnimatorInTag(this.animatorTagNamesMonster[j]))
             {
                 return(TaskStatus.Success);
             }
         }
     }
     return(TaskStatus.Failure);
 }
コード例 #13
0
        public AvatarStastics GetAvatarStastics(uint avatarRuntimeID)
        {
            BaseMonoAvatar helperAvatar = Singleton <AvatarManager> .Instance.GetHelperAvatar();

            if ((helperAvatar != null) && (helperAvatar.GetRuntimeID() == avatarRuntimeID))
            {
                return(null);
            }
            AvatarActor actor = Singleton <EventManager> .Instance.GetActor <AvatarActor>(avatarRuntimeID);

            if (actor == null)
            {
                return(null);
            }
            if (!this._avatarStasticsDict.ContainsKey(actor.avatarDataItem.avatarID))
            {
                AvatarStastics stastics = new AvatarStastics(actor.avatarDataItem.avatarID)
                {
                    avatarLevel = actor.level,
                    avatarStar  = actor.avatarDataItem.star,
                    stageID     = Singleton <LevelScoreManager> .Instance.LevelId
                };
                this._avatarStasticsDict[actor.avatarDataItem.avatarID] = stastics;
            }
            return(this._avatarStasticsDict[actor.avatarDataItem.avatarID]);
        }
コード例 #14
0
 public override TaskStatus OnUpdate()
 {
     if ((this.retargetEntity.Value != null) && this.retargetEntity.Value.IsActive())
     {
         this._monster.SetAttackTarget(this.retargetEntity.Value);
         this.retargetEntity.SetValue((BaseMonoEntity)null);
         return(TaskStatus.Success);
     }
     if (this._monster.AttackTarget == null)
     {
         BaseMonoAvatar newTarget = this.SelectNearestAvatar();
         if (newTarget != null)
         {
             this._monsterAIPlugin.InitNearestAvatarThreat(newTarget.GetRuntimeID());
             this._monster.SetAttackTarget(newTarget);
             return(TaskStatus.Success);
         }
     }
     else
     {
         uint runtimeID = this._monster.AttackTarget.GetRuntimeID();
         uint num2      = this._monsterAIPlugin.RetargetByThreat(runtimeID);
         if (runtimeID != num2)
         {
             this._monster.SetAttackTarget(Singleton <AvatarManager> .Instance.GetAvatarByRuntimeID(num2));
         }
         return(TaskStatus.Success);
     }
     return(TaskStatus.Running);
 }
コード例 #15
0
        private Vector3 CalculateSummonPosition(Vector3 summonPosition)
        {
            BaseMonoAvatar localAvatar = Singleton <AvatarManager> .Instance.GetLocalAvatar();

            if (localAvatar != null)
            {
                RaycastHit hit;
                bool       flag  = false;
                Vector3    start = new Vector3(localAvatar.transform.position.x, 0.1f, localAvatar.transform.position.z);
                Vector3    end   = new Vector3(summonPosition.x, 0.1f, summonPosition.z);
                if (Physics.Linecast(start, end, out hit, (((int)1) << InLevelData.OBSTACLE_COLLIDER_LAYER) | (((int)1) << InLevelData.STAGE_COLLIDER_LAYER)))
                {
                    flag = true;
                }
                if (flag)
                {
                    Vector3 point      = hit.point;
                    Vector3 vector8    = start - end;
                    Vector3 normalized = vector8.normalized;
                    float   num        = 0.1f;
                    Vector3 vector5    = point + ((Vector3)(normalized * num));
                    return(new Vector3(vector5.x, summonPosition.y, vector5.z));
                }
            }
            return(summonPosition);
        }
コード例 #16
0
ファイル: AvatarIdentity.cs プロジェクト: slb1988/agame
        public override void Init()
        {
            this._avatar = Singleton <AvatarManager> .Instance.GetAvatarByRuntimeID(base.runtimeID);

            this._avatarActor = Singleton <MPEventManager> .Instance.GetActor <AvatarActor>(base.runtimeID);

            base._animatorEntity = this._avatar;
            base._abilityEntity  = this._avatar;
            base._abilityActor   = this._avatarActor;
            this._avatarActor.GetPlugin <MPAvatarActorPlugin>().SetupIdentity(this);
            this._avatarActor.GetPluginAs <ActorAbilityPlugin, MPActorAbilityPlugin>().SetupIdentity(this);
            switch (Singleton <MPLevelManager> .Instance.mpMode)
            {
            case MPMode.Normal:
                this._remoteMode = IdentityRemoteMode.Mute;
                break;

            case MPMode.PvP_SendNoReceive:
                this._remoteMode = IdentityRemoteMode.SendAndNoReceive;
                this._avatar.SetAttackSelectMethod(new Action <BaseMonoAvatar>(AvatarAttackTargetSelectPattern.PvPSelectRemoteAvatar));
                break;

            case MPMode.PvP_ReceiveNoSend:
                this._remoteMode = IdentityRemoteMode.ReceiveAndNoSend;
                this._avatar.SetAttackSelectMethod(new Action <BaseMonoAvatar>(AvatarAttackTargetSelectPattern.PvPSelectRemoteAvatar));
                break;
            }
            base.Init();
        }
コード例 #17
0
        private void OnUpdateAttackTarget(BaseMonoEntity entity)
        {
            if ((entity != null) && this._isTutorialAvailable)
            {
                MonsterActor attackee = Singleton <EventManager> .Instance.GetActor <MonsterActor>(entity.GetRuntimeID());

                BaseMonoAvatar localAvatar = Singleton <AvatarManager> .Instance.GetLocalAvatar();

                AvatarActor actor = Singleton <EventManager> .Instance.GetActor <AvatarActor>(localAvatar.GetRuntimeID());

                EntityNature attackerNature = (EntityNature)attackee.metaConfig.nature;
                EntityNature attribute      = (EntityNature)actor.avatarDataItem.Attribute;
                float        num            = DamageModelLogic.GetNatureDamageBonusRatio(attackerNature, attribute, attackee);
                if (((((attackee != null) && (actor != null)) && ((base.step == 0) && (base.GetCurrentStepState() == BaseLevelTutorial.StepState.Sleep))) && ((!this.IsAllStepDone() && (num > 1f)) && ((base.step == 0) && (base.GetCurrentStepState() == BaseLevelTutorial.StepState.Sleep)))) && !this.IsAllStepDone())
                {
                    this.ActiveCurrentStep();
                    this.WaitShowTutorialStep(this.GetDelayTime(base.step), new Action(this.ShowTutorialStep0));
                }
                if ((((attackee != null) && (actor != null)) && ((this._killAmount >= 2) && (this._monsterCreatedAmount > 2))) && (((num > 1f) && (base.step == 2)) && ((base.GetCurrentStepState() == BaseLevelTutorial.StepState.Sleep) && !this.IsAllStepDone())))
                {
                    this.ActiveCurrentStep();
                    this.WaitShowTutorialStep(this.GetDelayTime(base.step), new Action(this.ShowTutorialStep2));
                }
            }
        }
コード例 #18
0
        private bool ListenAvatarCreated(EvtAvatarCreated evt)
        {
            BaseMonoAvatar localAvatar = Singleton <AvatarManager> .Instance.GetLocalAvatar();

            localAvatar.onAnimatorStateChanged = (Action <AnimatorStateInfo, AnimatorStateInfo>)Delegate.Combine(localAvatar.onAnimatorStateChanged, new Action <AnimatorStateInfo, AnimatorStateInfo>(this.OnLocalAvatarAnimatorStateChnage));
            return(false);
        }
コード例 #19
0
ファイル: HasAlliedAround.cs プロジェクト: slb1988/agame
        public override TaskStatus OnUpdate()
        {
            BaseMonoAnimatorEntity component = base.GetComponent <BaseMonoAnimatorEntity>();

            if (component is BaseMonoMonster)
            {
                BaseMonoMonster        monster     = component as BaseMonoMonster;
                List <BaseMonoMonster> allMonsters = Singleton <MonsterManager> .Instance.GetAllMonsters();

                for (int i = 0; i < allMonsters.Count; i++)
                {
                    if (((allMonsters[i] != monster) && allMonsters[i].IsActive()) && (Vector3.Distance(allMonsters[i].XZPosition, monster.XZPosition) < this.range))
                    {
                        return(TaskStatus.Success);
                    }
                }
                return(TaskStatus.Failure);
            }
            if (component is BaseMonoAvatar)
            {
                BaseMonoAvatar        avatar     = component as BaseMonoAvatar;
                List <BaseMonoAvatar> allAvatars = Singleton <AvatarManager> .Instance.GetAllAvatars();

                for (int j = 0; j < allAvatars.Count; j++)
                {
                    if (((allAvatars[j] != avatar) && allAvatars[j].IsActive()) && (Vector3.Distance(allAvatars[j].XZPosition, avatar.XZPosition) < this.range))
                    {
                        return(TaskStatus.Success);
                    }
                }
            }
            return(TaskStatus.Failure);
        }
コード例 #20
0
ファイル: BaseAvatarAction.cs プロジェクト: slb1988/agame
        public override void OnAwake()
        {
            this._avatar      = base.GetComponent <BaseMonoAvatar>();
            this._avatarActor = Singleton <EventManager> .Instance.GetActor <AvatarActor>(this._avatar.GetRuntimeID());

            this._avatarAIPlugin = this._avatarActor.GetPlugin <AvatarAIPlugin>();
        }
コード例 #21
0
ファイル: SetAttackNum.cs プロジェクト: slb1988/agame
        public override TaskStatus OnUpdate()
        {
            BaseMonoAvatar attackTarget = this._aiEntity.AttackTarget as BaseMonoAvatar;

            if (attackTarget == null)
            {
                this._isTargetLocalAvatar = false;
            }
            else
            {
                this._isTargetLocalAvatar = Singleton <AvatarManager> .Instance.IsLocalAvatar(attackTarget.GetRuntimeID());
            }
            if (this._isTargetLocalAvatar)
            {
                if (this.attackType == SetType.BEGIN)
                {
                    this._levelAIPlugin.AddAttackingMonster(this.monster);
                    this.IsAttacking.Value = true;
                }
                else
                {
                    this._levelAIPlugin.RemoveAttackingMonster(this.monster);
                    this.IsAttacking.Value = false;
                }
            }
            return(TaskStatus.Success);
        }
コード例 #22
0
ファイル: LevelActor.cs プロジェクト: slb1988/agame
        private void DragAllAvatarsNearLocalAvatar()
        {
            BaseMonoAvatar localAvatar = Singleton <AvatarManager> .Instance.GetLocalAvatar();

            BaseMonoAvatar helperAvatar = Singleton <AvatarManager> .Instance.GetHelperAvatar();

            List <BaseMonoAvatar> allPlayerAvatars = Singleton <AvatarManager> .Instance.GetAllPlayerAvatars();

            List <BaseMonoAvatar> list2 = new List <BaseMonoAvatar>();

            if (helperAvatar != null)
            {
                list2.Add(helperAvatar);
            }
            foreach (BaseMonoAvatar avatar3 in allPlayerAvatars)
            {
                if (avatar3 != localAvatar)
                {
                    list2.Add(avatar3);
                }
            }
            foreach (BaseMonoAvatar avatar4 in list2)
            {
                if (Physics.Linecast(localAvatar.transform.position, avatar4.transform.position, (int)(((int)1) << InLevelData.OBSTACLE_COLLIDER_LAYER)))
                {
                    avatar4.transform.position = localAvatar.transform.position;
                }
            }
        }
コード例 #23
0
        private bool ListenAvatarCreated(EvtAvatarCreated evt)
        {
            BaseMonoAvatar localAvatar = Singleton <AvatarManager> .Instance.GetLocalAvatar();

            localAvatar.onAttackTargetChanged = (Action <BaseMonoEntity>)Delegate.Combine(localAvatar.onAttackTargetChanged, new Action <BaseMonoEntity>(this.OnUpdateAttackTarget));
            return(false);
        }
コード例 #24
0
ファイル: StateAvatarStandby.cs プロジェクト: slb1988/agame
        public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
        {
            base.OnStateUpdate(animator, stateInfo, layerIndex);
            BaseMonoAvatar component = animator.GetComponent <BaseMonoAvatar>();
            float          num       = animator.GetFloat("IdleCD") - (Time.deltaTime * component.TimeScale);

            animator.SetFloat("IdleCD", num);
        }
コード例 #25
0
        private bool ListenStageReady(EvtStageReady evt)
        {
            BaseMonoAvatar helperAvatar = Singleton <AvatarManager> .Instance.GetHelperAvatar();

            this._hasHelperAvatar = helperAvatar != null;
            this._finished        = this._hasHelperAvatar;
            return(false);
        }
コード例 #26
0
ファイル: StateAvatarCombat.cs プロジェクト: slb1988/agame
        public override void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
        {
            base.OnStateUpdate(animator, stateInfo, layerIndex);
            BaseMonoAvatar component = animator.GetComponent <BaseMonoAvatar>();
            float          @float    = animator.GetFloat("CombatToStandByCD");

            animator.SetFloat("CombatToStandByCD", @float - (Time.deltaTime * component.TimeScale));
        }
コード例 #27
0
        public override void OnDecided()
        {
            base.OnDecided();
            Singleton <NotifyManager> .Instance.FireNotify(new Notify(NotifyTypes.TutorialMonsterRobotDodge, this));

            BaseMonoAvatar localAvatar = Singleton <AvatarManager> .Instance.GetLocalAvatar();

            localAvatar.onAnimatorStateChanged = (Action <AnimatorStateInfo, AnimatorStateInfo>)Delegate.Remove(localAvatar.onAnimatorStateChanged, new Action <AnimatorStateInfo, AnimatorStateInfo>(this.OnLocalAvatarAnimatorStateChnage));
        }
コード例 #28
0
        private void ClearAllSubAttackTargets()
        {
            BaseMonoAvatar entity = base.actor.entity as BaseMonoAvatar;

            if (entity != null)
            {
                entity.ClearSubAttackList();
            }
        }
コード例 #29
0
        private void AddSubAttackTarget(BaseMonoEntity target)
        {
            BaseMonoAvatar entity = base.actor.entity as BaseMonoAvatar;

            if (entity != null)
            {
                entity.AddTargetToSubAttackList(target);
            }
        }
コード例 #30
0
ファイル: BaseStepController.cs プロジェクト: slb1988/agame
        protected virtual void Awake()
        {
            BaseMonoAvatar component = base.GetComponent <BaseMonoAvatar>();

            this.GetFootAnchorFromAvatar(ref this.leftFootAnchor, component, "LeftFoot");
            this.GetFootAnchorFromAvatar(ref this.rightFootAnchor, component, "RightFoot");
            this._leftStepParser  = new BaseSingleStepParser(this, this.leftFootAnchor);
            this._rightStepParser = new BaseSingleStepParser(this, this.rightFootAnchor);
        }