public override void Show()
    {
        base.Show();
        DataBaseNode dataNode = ObjectDataController.Instance.DataBaseMap.nodeList[ObjectDataController.Instance.IdNodeFighting - 1];

        txtMove.text    = dataNode.numSketch.ToString();
        txtAttempt.text = DataController.Instance.UserData.attemptNodeCur.ToString();
        DataController.Instance.UserData.attemptNodeCur = 0;
    }
Beispiel #2
0
    public override void Show()
    {
        DataController.Instance.UserData.attemptNodeCur += 1;
        base.Show();
        isTimeOut = false;
        DataBaseNode dataNode = ObjectDataController.Instance.DataBaseMap.nodeList[ObjectDataController.Instance.IdNodeFighting - 1];

        txtMove.text     = dataNode.numSketch.ToString();
        txtAttempt.text  = DataController.Instance.UserData.attemptNodeCur.ToString();
        groupMove.alpha  = groupAttempt.alpha = 0;
        txtNoThanks.text = "NO THANKS";
        rectTxtNodeThanks.gameObject.SetActive(false);
        imgFillTime.fillAmount = 1;
        imgFillTime.DOFillAmount(0, ObjectDataController.Instance.ConfigGame.timeOutFail).SetEase(Ease.Linear).OnComplete(() =>
        {
            ChangeToRestart();
        }).SetId(this);
        corouDDelayShowNoThanks = StartCoroutine(DelayShowNoThanks());
    }
 public void StartPreload(NodeAddedEvent e, SingleNode <PreloadAllResourcesComponent> preload, [JoinAll] DataBaseNode db)
 {
     if (DiskCaching.Enabled)
     {
         AssetBundleDatabase  assetBundleDatabase             = db.assetBundleDatabase.AssetBundleDatabase;
         AssetBundleDiskCache assetBundleDiskCache            = db.assetBundleDiskCache.AssetBundleDiskCache;
         List <string>        prioritizedAssetsConfigPathList = GetPrioritizedAssetsConfigPathList();
         int           num   = 100 + prioritizedAssetsConfigPathList.Count;
         List <string> list2 = new List <string>();
         for (int i = 0; i < prioritizedAssetsConfigPathList.Count; i++)
         {
             AssetReferenceComponent assetReferenceComponent = AssetReferenceComponent.createFromConfig(prioritizedAssetsConfigPathList[i]);
             string assetGuid = assetReferenceComponent.Reference.AssetGuid;
             list2.Add(assetGuid);
             AssetBundleInfo assetBundleInfoByGuid = assetBundleDatabase.GetAssetBundleInfoByGuid(assetGuid);
             if (!assetBundleDiskCache.IsCached(assetBundleInfoByGuid))
             {
                 this.CreateEntityForPreloadingBundles(assetReferenceComponent, num - i);
             }
         }
         foreach (string str2 in assetBundleDatabase.GetRootGuids())
         {
             AssetBundleInfo assetBundleInfoByGuid = assetBundleDatabase.GetAssetBundleInfoByGuid(str2);
             if (!list2.Contains(str2) && !assetBundleDiskCache.IsCached(assetBundleInfoByGuid))
             {
                 AssetReferenceComponent assetReferenceComponent = new AssetReferenceComponent(new AssetReference(str2));
                 this.CreateEntityForPreloadingBundles(assetReferenceComponent, 0);
             }
         }
     }
 }
        public AnnoGameObjects(DataBaseNode baseNode)
        {
            foreach (var session in baseNode.MetaGameManager.GameSessions.GameSessionsList)
            {
                //Participants
                var Participants = session
                                   .SessionData
                                   .BinaryData
                                   .GameSessionManager
                                   .SessionParticipantManager
                                   .ParticipantIDToObjects
                                   .ParticipantIDToObjectsList
                                   .ToDictionary(p => p.Value.Id, p => new AnnoParticipant(p.Value.Id));

                //Find Participants Objects
                var participantsObjects = session
                                          .SessionData
                                          .BinaryData
                                          .GameSessionManager
                                          .AreaManagers
                                          .AreaManager[0]
                                          .AreaObjectManager
                                          .GameObject
                                          .Objects
                                          .GameObjectsList
                                          .Where(o => o.Profile is Profile _)
                                          .Take(Participants.Count);

                foreach (var participant in participantsObjects)
                {
                    Participants[participant.ParticipantID.Id].GUID = participant.Guid;
                }

                //AreaInfos
                var AreaInfos = session
                                .SessionData
                                .BinaryData
                                .GameSessionManager
                                .AreaInfo
                                .Ids
                                .Zip(session.SessionData.BinaryData.GameSessionManager.AreaInfo.AreaInfoList)
                                .ToDictionary(x => x.First, x => x.Second);

                //AreaManager
                foreach (var areaManager in session.SessionData.BinaryData.GameSessionManager.AreaManagers.AreaManager)
                {
                    AreaInfos.TryGetValue(areaManager.AreaItemManager.AreaSlotContainer.AreaID, out var areaInfo);
                    if (areaInfo != null)
                    {
                        foreach (var kontorItem in areaManager.AreaItemManager.AreaSlotContainer.SlotList.AreaSlotContainerSlotListList ?? Enumerable.Empty <AreaSlotContainerSlotListList>())
                        {
                            foreach (var item in kontorItem.Stack.AreaSlotContainerSlotListListStackList ?? Enumerable.Empty <AreaSlotContainerSlotListListStackList>())
                            {
                                if (item.GUID?.GUID != null)
                                {
                                    Items.Add(new AnnoItem {
                                        GUID        = item.GUID,
                                        Amount      = 1,
                                        InUse       = false,
                                        Participant = Participants[areaInfo.Owner.id],
                                        AreaManager = areaManager,
                                        AreaInfo    = areaInfo,
                                        Session     = session
                                    });
                                }
                            }
                        }
                    }
                    //GameObjects
                    foreach (var gameObject in areaManager.AreaObjectManager.GameObject.Objects?.GameObjectsList ?? Enumerable.Empty <GameObjectObjectsList>())
                    {
                        if (!Participants.TryGetValue(gameObject.ParticipantID.Id, out var participant))
                        {
                            Console.WriteLine($"Game object {gameObject} couldn't be found for {gameObject.ParticipantID.Id} in {session.SessionDesc.SessionGUID}");
                            continue;
                        }

                        if ((gameObject.ShipMaintenance != null || (gameObject.Building != null && ProgrammSettings.Texts.ContainsKey(gameObject.Guid.GUID))) /*&& participant.GUID.GUID != 34*/)
                        {
                            GameObjects.Add(new AnnoItem {
                                GUID         = gameObject.Guid,
                                Participant  = participant,
                                ParentObject = gameObject,
                                AreaManager  = areaManager,
                                AreaInfo     = areaInfo,
                                Session      = session,
                                Amount       = 1
                            });

                            foreach (var slotItem in gameObject.ItemContainer?.SlotContainer?.SlotList?.SlotContainerSlotListList ?? Enumerable.Empty <SlotContainerSlotListList>())
                            {
                                if (slotItem?.Stack?.StackList != null)
                                {
                                    foreach (var stack in slotItem?.Stack?.StackList)
                                    {
                                        if (stack?.GUID != null)
                                        {
                                            Items.Add(new AnnoItem {
                                                GUID         = stack.GUID,
                                                Amount       = slotItem.ProductStackSize > 0 ? slotItem.ProductStackSize : 1,
                                                InUse        = false,
                                                Participant  = participant,
                                                ParentObject = gameObject,
                                                AreaManager  = areaManager,
                                                AreaInfo     = areaInfo,
                                                Session      = session
                                            });
                                        }
                                    }
                                }
                            }

                            foreach (var socketItem in gameObject.ItemContainer?.SocketContainer?.SocketItems?.SocketItemsList ?? Enumerable.Empty <SocketItemsList>())
                            {
                                if (socketItem.GUID != null)
                                {
                                    Items.Add(new AnnoItem {
                                        GUID         = socketItem.GUID,
                                        Amount       = 1,
                                        InUse        = true,
                                        Participant  = participant,
                                        ParentObject = gameObject,
                                        AreaManager  = areaManager,
                                        AreaInfo     = areaInfo,
                                        Session      = session
                                    });
                                }
                            }

                            if (gameObject.UpgradeList != null)
                            {
                                foreach (var upgrade in gameObject.UpgradeList.UpgradeGUIDs.GUIDs ?? Enumerable.Empty <DescriptionInt>())
                                {
                                    Upgrades.Add(new AnnoItem {
                                        GUID         = upgrade,
                                        Amount       = 1,
                                        InUse        = true,
                                        Participant  = participant,
                                        ParentObject = gameObject,
                                        AreaManager  = areaManager,
                                        AreaInfo     = areaInfo,
                                        Session      = session
                                    });
                                }

                                //Maybe  Data Classes Incomplete
                                //foreach (var upgrade in gameObject.UpgradeList.UpgradeSets) {
                                //}
                            }
                        }
                    }
                }
            }
        }