Exemplo n.º 1
0
        public override IEnumerator UpdateView(FightStatus fightStatus)
        {
            if (fightStatus.TryGetEntity(concernedEntity, out HeroStatus heroStatus))
            {
                if (fightStatus.TryGetEntity(ownerId, out PlayerStatus ownerStatus))
                {
                    WeaponDefinition weaponDefinition = (WeaponDefinition)heroStatus.definition;
                    if (null != weaponDefinition)
                    {
                        HeroCharacterObject heroCharacterObject = FightObjectFactory.CreateHeroCharacterObject(weaponDefinition, refCoord.X, refCoord.Y, (Direction)direction);
                        if (null != heroCharacterObject)
                        {
                            heroStatus.view = heroCharacterObject;
                            yield return(heroCharacterObject.LoadAnimationDefinitions(skinId, (Gender)gender));

                            heroCharacterObject.Initialize(fightStatus, ownerStatus, heroStatus);
                            UpdateAudioContext(ownerStatus, heroStatus.baseLife);
                            yield return(heroCharacterObject.Spawn());
                        }
                    }
                }
                else
                {
                    Log.Error(FightEventErrors.PlayerNotFound(ownerId), 98, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Fight\\Events\\HeroAddedEvent.cs");
                }
            }
            else
            {
                Log.Error(FightEventErrors.EntityNotFound <HeroStatus>(concernedEntity), 103, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Fight\\Events\\HeroAddedEvent.cs");
            }
            FightLogicExecutor.FireUpdateView(fightStatus.fightId, EventCategory.EntityAddedOrRemoved);
        }
Exemplo n.º 2
0
        protected override IEnumerator Unload()
        {
            while (FightLogicExecutor.isValid)
            {
                yield return(null);
            }
            FightMap current = FightMap.current;

            if (null != current)
            {
                current.Release();
                FightMap.current = null;
            }
            if (FightSpellEffectFactory.isReady)
            {
                yield return(FightSpellEffectFactory.Unload());
            }
            if (FightObjectFactory.isReady)
            {
                yield return(FightObjectFactory.Unload());
            }
            if (FightUIFactory.isReady)
            {
                yield return(FightUIFactory.Unload());
            }
            VisualEffectFactory.Dispose();
            yield return(RuntimeData.UnloadTextCollectionAsync("Fight"));

            yield return(_003C_003En__0());

            DragNDropListener.instance.CancelSnapDrag();
            instance = null;
        }
Exemplo n.º 3
0
        public static void Launch(int value, Type type, Transform parent)
        {
            int instanceCountInTransform;
            ValueChangedFeedback valueChangedFeedback = FightObjectFactory.CreateValueChangedFeedback(parent, out instanceCountInTransform);

            valueChangedFeedback.SetValue(value, type);
            valueChangedFeedback.StartTween(instanceCountInTransform);
        }
 public override Component Instantiate(Transform parent, Quaternion rotation, Vector3 scale, FightContext fightContext, ITimelineContextProvider contextProvider)
 {
     //IL_0038: Unknown result type (might be due to invalid IL or missing references)
     //IL_0039: Unknown result type (might be due to invalid IL or missing references)
     if (null == m_timelineAsset)
     {
         Log.Warning("Tried to instantiate timeline asset spell effect named '" + this.get_name() + "' without a timeline asset setup.", 42, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Data\\Animations\\TimelineAssetSpellEffect.cs");
         return(null);
     }
     return(FightObjectFactory.CreateTimelineAssetEffectInstance(m_timelineAsset, parent, rotation, scale, fightContext, contextProvider));
 }
Exemplo n.º 5
0
        public override IEnumerator DestroyWhenFinished(Component instance)
        {
            Animator2D animator2D = instance;

            do
            {
                yield return(null);

                if (null == animator2D)
                {
                    yield break;
                }
            }while (!animator2D.get_reachedEndOfAnimation());
            FightObjectFactory.DestroyAnimatedObjectEffectInstance(animator2D);
        }
        public override IEnumerator DestroyWhenFinished(Component instance)
        {
            PlayableDirector playableDirector = instance;
            PlayableGraph    playableGraph;

            do
            {
                yield return(null);

                if (null == playableDirector)
                {
                    yield break;
                }
                playableGraph = playableDirector.get_playableGraph();
            }while (playableGraph.IsValid() && !playableGraph.IsDone());
            FightObjectFactory.DestroyTimelineAssetEffectInstance(playableDirector, clearFightContext: false);
        }
Exemplo n.º 7
0
        public static IEnumerator CreateCompanionCharacterObject(FightStatus fightStatus, CompanionStatus companionStatus, PlayerStatus ownerStatus, int x, int y, Direction direction)
        {
            CompanionDefinition companionDefinition = (CompanionDefinition)companionStatus.definition;

            if (!(null == companionDefinition))
            {
                CompanionCharacterObject companionCharacterObject = FightObjectFactory.CreateCompanionCharacterObject(companionDefinition, x, y, direction);
                if (!(null == companionCharacterObject))
                {
                    companionStatus.view = companionCharacterObject;
                    yield return(companionCharacterObject.LoadAnimationDefinitions(companionDefinition.defaultSkin.value));

                    companionCharacterObject.Initialize(fightStatus, ownerStatus, companionStatus);
                    yield return(companionCharacterObject.Spawn());
                }
            }
        }
        public static IEnumerator CreateSummoningCharacterObject(FightStatus fightStatus, SummoningStatus summoningStatus, PlayerStatus ownerStatus, int x, int y, Direction direction)
        {
            SummoningDefinition summoningDefinition = (SummoningDefinition)summoningStatus.definition;

            if (!(null == summoningDefinition))
            {
                SummoningCharacterObject summoningCharacterObject = FightObjectFactory.CreateSummoningCharacterObject(summoningDefinition, x, y, direction);
                if (!(null == summoningCharacterObject))
                {
                    summoningStatus.view = summoningCharacterObject;
                    yield return(summoningCharacterObject.LoadAnimationDefinitions(summoningDefinition.defaultSkin.value));

                    summoningCharacterObject.Initialize(fightStatus, ownerStatus, summoningStatus);
                    yield return(summoningCharacterObject.Spawn());
                }
            }
        }
        public static IEnumerator CreateFloorMechanismObject(FightStatus fightStatus, FloorMechanismStatus floorMechanismStatus, PlayerStatus ownerStatus, int x, int y)
        {
            FloorMechanismDefinition floorMechanismDefinition = (FloorMechanismDefinition)floorMechanismStatus.definition;

            if (!(null == floorMechanismDefinition))
            {
                FloorMechanismObject floorMechanismObject = FightObjectFactory.CreateFloorMechanismObject(floorMechanismDefinition, x, y);
                if (!(null == floorMechanismObject))
                {
                    floorMechanismStatus.view = floorMechanismObject;
                    floorMechanismObject.alliedWithLocalPlayer = (GameStatus.localPlayerTeamIndex == floorMechanismStatus.teamIndex);
                    yield return(floorMechanismObject.LoadAnimationDefinitions(floorMechanismDefinition.defaultSkin.value));

                    floorMechanismObject.Initialize(fightStatus, ownerStatus, floorMechanismStatus);
                    yield return(floorMechanismObject.Spawn());
                }
            }
        }
Exemplo n.º 10
0
        public static IEnumerator CreateObjectMechanismObject(FightStatus fightStatus, ObjectMechanismStatus objectMechanismStatus, PlayerStatus ownerStatus, int x, int y)
        {
            ObjectMechanismDefinition objectMechanismDefinition = (ObjectMechanismDefinition)objectMechanismStatus.definition;

            if (!(null == objectMechanismDefinition))
            {
                ObjectMechanismObject objectMechanismObject = FightObjectFactory.CreateObjectMechanismObject(objectMechanismDefinition, x, y);
                if (!(null == objectMechanismObject))
                {
                    objectMechanismStatus.view = objectMechanismObject;
                    objectMechanismObject.alliedWithLocalPlayer = (GameStatus.localPlayerTeamIndex == ownerStatus.teamIndex);
                    yield return(objectMechanismObject.LoadAnimationDefinitions(objectMechanismDefinition.defaultSkin.value));

                    objectMechanismObject.Initialize(fightStatus, ownerStatus, objectMechanismStatus);
                    yield return(objectMechanismObject.Spawn());
                }
            }
        }
Exemplo n.º 11
0
        public override Component Instantiate(Transform parent, ITimelineContextProvider contextProvider)
        {
            //IL_00ae: Unknown result type (might be due to invalid IL or missing references)
            if (null == m_animatedObjectDefinition)
            {
                Log.Warning("Tried to instantiate animated object character effect named '" + this.get_name() + "' without an animated object definition setup.", 90, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Data\\Animations\\AnimatedObjectCharacterEffect.cs");
                return(null);
            }
            string animationName;

            if (!string.IsNullOrEmpty(m_animationName))
            {
                if (m_appendDirectionSuffix && contextProvider != null)
                {
                    Direction direction = Direction.None;
                    CharacterObjectContext characterObjectContext = contextProvider.GetTimelineContext() as CharacterObjectContext;
                    if (characterObjectContext != null)
                    {
                        CharacterObject characterObject = characterObjectContext.characterObject;
                        if (null != characterObject)
                        {
                            direction = characterObject.direction;
                        }
                    }
                    animationName = ((direction != Direction.None) ? (m_animationName + (int)direction) : m_animationName);
                }
                else
                {
                    animationName = m_animationName;
                }
            }
            else
            {
                animationName = string.Empty;
            }
            if (m_sound.get_isValid())
            {
                AudioManager.PlayOneShot(m_sound, parent);
            }
            return(FightObjectFactory.CreateAnimatedObjectEffectInstance(m_animatedObjectDefinition, animationName, parent));
        }
        public override Component Instantiate(Transform parent, ITimelineContextProvider contextProvider)
        {
            //IL_0031: Unknown result type (might be due to invalid IL or missing references)
            //IL_0036: Unknown result type (might be due to invalid IL or missing references)
            //IL_0037: Unknown result type (might be due to invalid IL or missing references)
            //IL_003c: Unknown result type (might be due to invalid IL or missing references)
            //IL_0060: Unknown result type (might be due to invalid IL or missing references)
            //IL_0061: Unknown result type (might be due to invalid IL or missing references)
            if (null == m_timelineAsset)
            {
                Log.Warning("Tried to instantiate timeline asset character effect named '" + this.get_name() + "' without a timeline asset setup.", 44, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\Data\\Animations\\TimelineAssetCharacterEffect.cs");
                return(null);
            }
            Quaternion          rotation = Quaternion.get_identity();
            Vector3             scale    = Vector3.get_one();
            VisualEffectContext visualEffectContext;

            if (contextProvider != null && (visualEffectContext = (contextProvider.GetTimelineContext() as VisualEffectContext)) != null)
            {
                visualEffectContext.GetVisualEffectTransformation(out rotation, out scale);
            }
            return(FightObjectFactory.CreateTimelineAssetEffectInstance(m_timelineAsset, parent, rotation, scale, null, contextProvider));
        }
Exemplo n.º 13
0
 private void TweenCompleteCallback()
 {
     FightObjectFactory.ReleaseValueChangedFeedback(this.get_gameObject());
     m_tween = null;
 }
Exemplo n.º 14
0
 public override void Destroy()
 {
     FightObjectFactory.ReleaseCompanionCharacterObject(this);
 }
Exemplo n.º 15
0
        protected override IEnumerator Load()
        {
            if (m_concurrentFightsCount == 1)
            {
                RuntimeData.currentKeywordContext = KeywordContext.FightSolo;
            }
            else
            {
                RuntimeData.currentKeywordContext = KeywordContext.FightMulti;
            }
            instance = this;
            int fightCount = m_concurrentFightsCount;

            if (!RuntimeData.fightDefinitions.TryGetValue(m_fightDefId, out m_fightDefinition))
            {
                Log.Error(string.Format("Could not find {0} with id {1}.", "FightDefinition", m_fightDefId), 78, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\States\\FightState.cs");
                yield break;
            }
            yield return(RuntimeData.LoadTextCollectionAsync("Fight"));

            yield return(LoadSceneAndBundleRequest("FightMapWrapper", "core/scenes/maps/fight_maps"));

            Scene sceneByName = SceneManager.GetSceneByName("FightMapWrapper");

            if (!sceneByName.get_isLoaded())
            {
                Log.Error("Could not load scene named 'FightMapWrapper' from bundle 'core/scenes/maps/fight_maps'.", 93, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\States\\FightState.cs");
                yield break;
            }
            yield return(LoadFightMap());

            FightMap current = FightMap.current;

            if (null == current)
            {
                Log.Error("Failed to load fight map.", 104, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\States\\FightState.cs");
                yield break;
            }
            FightLogicExecutor.Initialize(fightCount);
            FightMapDefinition definition = current.definition;

            FightStatus[] array = new FightStatus[fightCount];
            for (int i = 0; i < fightCount; i++)
            {
                FightMapStatus mapStatus   = definition.CreateFightMapStatus(i);
                FightStatus    fightStatus = new FightStatus(i, mapStatus);
                if (fightStatus.fightId == m_ownFightId)
                {
                    FightStatus.local = fightStatus;
                }
                FightLogicExecutor.AddFightStatus(fightStatus);
                array[i] = fightStatus;
            }
            GameStatus.Initialize((FightType)m_fightInfo.FightType, m_fightDefinition, array);
            yield return(current.Initialize());

            VisualEffectFactory.Initialize();
            yield return(FightObjectFactory.Load());

            if (!FightObjectFactory.isReady)
            {
                yield break;
            }
            yield return(FightSpellEffectFactory.Load(fightCount));

            if (!FightSpellEffectFactory.isReady)
            {
                yield break;
            }
            yield return(FightUIFactory.Load());

            if (!FightUIFactory.isReady)
            {
                yield break;
            }
            UILoader <FightUIRework> loaderRework = new UILoader <FightUIRework>(this, "FightUIRework", "core/scenes/ui/fight");

            yield return(loaderRework.Load());

            m_uiRework = loaderRework.ui;
            m_uiRework.Init(GameStatus.fightType, m_fightDefinition);
            frame = new FightFrame
            {
                onOtherPlayerLeftFight = OnOtherPlayerLeftFight
            };
            if (m_hardResumed)
            {
                FightSnapshot snapshot = null;
                frame.onFightSnapshot = delegate(FightSnapshot fightSnapshot)
                {
                    snapshot = fightSnapshot;
                };
                frame.SendFightSnapshotRequest();
                while (snapshot == null)
                {
                    yield return(null);
                }
                frame.onFightSnapshot = null;
                yield return(ApplyFightSnapshot(snapshot));
            }
            frame.SendPlayerReady();
            while (!FightLogicExecutor.fightInitialized)
            {
                yield return(null);
            }
            yield return(uiRework.Load());
        }
 public override void Destroy()
 {
     FightObjectFactory.ReleaseSummoningCharacterObject(this);
 }
 public override void Destroy()
 {
     FightObjectFactory.ReleaseObjectMechanismObject(this);
 }