Beispiel #1
0
 private void Start()
 {
     ItemsBase    = FindObjectOfType <ItemsBase>();
     GameMain     = FindObjectOfType <GameMain>();
     CurrentMoney = PlayerPrefs.GetInt("CurrentMoney", 0);
     Money();
 }
Beispiel #2
0
 public new void RemoveAt(int index)
 {
     if (index > -1 && index <= Items.Count - 1)
     {
         Items.RemoveAt(index); ItemsBase.RemoveAt(index);
     }
 }
Beispiel #3
0
    void Start()
    {
        GameMain    = FindObjectOfType <GameMain>();
        GameClients = FindObjectOfType <GameClients>();
        ItemsBase   = FindObjectOfType <ItemsBase>();
        //Смотрим страну
        int          Country    = GameClients.CurrentClient.GetComponent <Client>().ClientType;
        List <Place> CasePlaces = new List <Place>();

        CasePlaces.AddRange(FindObjectsOfType <Place>());
        List <GameObject> CountryItems = new List <GameObject>();

        CountryItems.AddRange(ItemsBase.Elements[GameClients.CurrentCountry].Items);
        foreach (Place a in CasePlaces) //в каждой ячейке создаём каждый предмет
        {
            for (int i = 0; i < ItemsBase.Elements[GameClients.CurrentCountry].Items.Count; i++)
            {
                GameObject NewItem = Instantiate(CountryItems[i], a.transform);
                NewItem.transform.position    = a.transform.position;
                NewItem.transform.eulerAngles = Vector3.zero;
                AllItems.Add(NewItem);
            }
        }
        //перемешиваем предметы
        AllItems = My.Shuffle(AllItems);
        //Сортируем по возрастанию необходимых ячеек
        AllItems = AllItems.ToArray().OrderBy(x => x.GetComponent <Item>().PlacesCountNeeded).ToList();
        //переворачиваем, ибо нам нужно по убыванию ячеек
        AllItems.Reverse();
        StartCoroutine(Prestart());
    }
Beispiel #4
0
        private void _projectView_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs mouseEventArgs)
        {
            ItemsBase itemBase = mouseEventArgs.Node.Tag as ItemsBase;

            if (itemBase == null)
            {
                return;
            }

            _clickedOnItem = itemBase;

            if (itemBase.ItemType == ItemTypes.Animation)
            {
                ContextMenu cm = new ContextMenu();
                cm.MenuItems.AddRange(itemBase.CreateContextMenu());
                _projectView.ContextMenu = cm;
                return;
            }
            if (mouseEventArgs.Button == MouseButtons.Right)
            {
                ContextMenu cm = new ContextMenu();
                cm.MenuItems.AddRange(itemBase.CreateContextMenu());
                _projectView.ContextMenu = cm;
                return;
            }
        }
        public void Export(ItemsBase itemBase, PixelSet[,] pixelArray)
        {
            if (pixelArray == null)
            {
                return;
            }

            ISaveable     saveable = itemBase as ISaveable;
            ProjectHolder ph       = ServiceLocator.Instance.GetService <ProjectHolder>();

            string outputFileName = Path.Combine(ph.ProjectPath, saveable.GetFileName);
            string extension      = Path.GetExtension(outputFileName);

            outputFileName = outputFileName.Replace(extension, string.Empty);

            int directions = 8;
            int frames     = 4;

            for (int i = 0; i < directions; i++)
            {
                for (int j = 0; j < frames; j++)
                {
                    Bitmap image    = CreateImage(pixelArray[i, j]);
                    string filename = $"{outputFileName}_{i}_{j}.png";
                    image.Save(filename);
                }
            }
        }
Beispiel #6
0
        internal static void AddCharactor(ItemsBase root)
        {
            IEditNameUI editNameUI = ServiceLocator.Instance.GetService <IEditNameUI>();
            string      name       = editNameUI.EditName("Charactor", "Name");

            ProjectHolder projectHolder = ServiceLocator.Instance.GetService <ProjectHolder>();

            projectHolder.CreateCharacter(name, root.FullPath);
            ServiceLocator.Instance.GetService <IMainUI>().PopulateTree();
        }
Beispiel #7
0
        //[UnityEditor.MenuItem("Tools/Create Unique IDs")]
        public static void CreateUniqueIDs()
        {
            ItemsBase[] items = Resources.LoadAll <ItemsBase>("Items");

            for (int i = 0; i < items.Length; i++)
            {
                ItemsBase    currentItem  = items[i];
                System.Type  type         = typeof(ItemsBase);
                PropertyInfo propertyInfo = type.GetProperty(nameof(currentItem.ID));
                propertyInfo.SetValue(currentItem, i);
            }
        }
Beispiel #8
0
    void Start()
    {
        AllGUI      = FindObjectOfType <AllGUI>();
        GameMain    = FindObjectOfType <GameMain>();
        ItemsBase   = FindObjectOfType <ItemsBase>();
        ClientPoint = GameObject.Find("ClientPoint").transform;
        CasePoint   = GameObject.Find("CasePoint").transform;

        //создаём трёх первых клиентов и просим их двигаться
        for (int i = 0; i < 3; i++)
        {
            SpawnNewCLient().GetComponent <Animation>().Play("Come " + (2 - i));
        }
        StartCoroutine(Prestart());
    }
Beispiel #9
0
        private void OpenItem(TreeViewEventArgs e)
        {
            ItemsBase itemBase = e.Node.Tag as ItemsBase;

            _selectedItem = itemBase;
            if (itemBase.ItemType == ItemTypes.Animation)
            {
                if (itemBase is IEditable editable)
                {
                    _imageEditor.SetItem(editable);
                    AnimationDetails animationDetails = itemBase as AnimationDetails;
                    _propertyGrid.SelectedObject = animationDetails.AnimationOptions;
                }
            }
        }
Beispiel #10
0
    public override void OnInspectorGUI()
    {
        ItemsBase Items = (ItemsBase)target;

        Items.itemName = EditorGUILayout.TextField("Item name", Items.itemName);

        Items.groundedItemPrefab = (GroundedItem)EditorGUILayout.ObjectField("Grounded Item Prefab", Items.groundedItemPrefab, typeof(GroundedItem), true);

        Items.uiIcon = (Sprite)EditorGUILayout.ObjectField("UI Icon", Items.uiIcon, typeof(Sprite), true);
        Items.type   = EditorGUILayout.Popup(Items.type, new string[] { "Weapons", "Grenade", "Materials", "Healing" });
        switch (Items.type)
        {
        case 0:
            Items.weaponDamage  = EditorGUILayout.IntField("Damage", Items.weaponDamage);
            Items.weaponRange   = EditorGUILayout.IntField("Range", Items.weaponRange);
            Items.holdingPrefab = (WeaponPositionReferenceScript)EditorGUILayout.ObjectField("Prefab To Hold In Hand", Items.holdingPrefab, typeof(WeaponPositionReferenceScript), false);
            break;

        case 1:
            Items.grenadeDamage = EditorGUILayout.IntField("Damage", Items.grenadeDamage);
            Items.grenadeRange  = EditorGUILayout.IntField("Range", Items.grenadeRange);
            Items.grenadeForce  = EditorGUILayout.IntField("Force", Items.grenadeForce);
            Items.grenadeTime   = EditorGUILayout.FloatField("Explosion time", Items.grenadeTime);
            break;

        case 2:
            Items.matType = EditorGUILayout.TextField("Material", Items.matType);
            break;

        case 3:
            Items.healForce = EditorGUILayout.IntField("Healing Force", Items.healForce);
            break;
        }

        if (GUI.changed)
        {
            EditorUtility.SetDirty(Items);
            EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene());
        }
    }
Beispiel #11
0
        public static void SetEquipment(Player player)
        {
            try
            {
                var lf3Damage = 150;
                var lf4Damage = 200;
                var bo2Shield = 15000;
                var g3nSpeed  = 10;

                var hitpoints = new int[] { player.Ship.BaseHitpoints + 60000, player.Ship.BaseHitpoints + 60000 };
                var speed     = new int[] { player.Ship.BaseSpeed, player.Ship.BaseSpeed };
                var damage    = new int[] { 0, 0 };
                var shield    = new int[] { 0, 0 };

                using (var mySqlClient = SqlDatabaseManager.GetClient())
                {
                    var equipment = mySqlClient.ExecuteQueryTable($"SELECT * FROM player_equipment WHERE userId = {player.Id}");

                    foreach (DataRow row in equipment.Rows)
                    {
                        dynamic items = JsonConvert.DeserializeObject(row["items"].ToString());

                        for (var i = 1; i <= 2; i++)
                        {
                            foreach (int itemId in (dynamic)JsonConvert.DeserializeObject(row[$"config{i}_lasers"].ToString()))
                            {
                                if (itemId >= 0 && itemId < 40)
                                {
                                    damage[i - 1] += lf3Damage;
                                }
                                else if (itemId >= 140)
                                {
                                    damage[i - 1] += lf4Damage;
                                }
                            }

                            foreach (int itemId in (dynamic)JsonConvert.DeserializeObject(row[$"config{i}_generators"].ToString()))
                            {
                                if (itemId >= 40 && itemId < 100)
                                {
                                    shield[i - 1] += bo2Shield;
                                }
                                else if (itemId >= 100 && itemId < 120)
                                {
                                    speed[i - 1] += g3nSpeed;
                                }
                            }

                            var havocCount    = 0;
                            var herculesCount = 0;

                            var drones = (dynamic)JsonConvert.DeserializeObject(row[$"config{i}_drones"].ToString());

                            foreach (var drone in drones)
                            {
                                var herculesEquipped = false;

                                foreach (int design in drone["designs"])
                                {
                                    if (design >= 120 && design < 130)
                                    {
                                        havocCount++;
                                    }
                                    else if (design >= 130 && design < 140)
                                    {
                                        herculesEquipped = true;
                                        herculesCount++;
                                    }
                                }

                                var droneShield = bo2Shield + 2000;

                                foreach (int item in drone["items"])
                                {
                                    if (item >= 0 && item < 40)
                                    {
                                        damage[i - 1] += lf3Damage + 15;
                                    }
                                    else if (item >= 140)
                                    {
                                        damage[i - 1] += lf4Damage + 20;
                                    }
                                    else if (item >= 40 && item < 100)
                                    {
                                        shield[i - 1] += droneShield + (herculesEquipped ? +Maths.GetPercentage(droneShield, 15) : 0);
                                    }
                                }
                            }

                            if (havocCount == drones.Count)
                            {
                                damage[i - 1] += Maths.GetPercentage(damage[i - 1], 10);
                            }
                            else if (herculesCount == 10)
                            {
                                hitpoints[i - 1] += Maths.GetPercentage(hitpoints[i - 1], 20);
                            }
                        }

                        speed[0] += Maths.GetPercentage(speed[0], 20);
                        speed[1] += Maths.GetPercentage(speed[1], 20);

                        var configsBase = new ConfigsBase(hitpoints[0], damage[0], shield[0], speed[0], hitpoints[1], damage[1], shield[1], speed[1]);
                        var itemsBase   = new ItemsBase(0);//TODO = new ItemsBase((int)items["bootyKeys"]);

                        player.Equipment = new EquipmentBase(configsBase, itemsBase);
                    }
                }
            }
            catch (Exception e)
            {
                Logger.Log("error_log", $"- [QueryManager.cs] SetEquipment({player.Id}) exception: {e}");
            }
        }
Beispiel #12
0
 public new void Clear()
 {
     ItemsBase.Clear();
     Items.Clear();
 }
Beispiel #13
0
 public void Insert(int index, ComboBoxItem value)
 {
     Items.Insert(index, value);
     ItemsBase.Insert(index, value);
 }
Beispiel #14
0
 public void Add(ComboBoxItem value)
 {
     Items.Add(value);
     ItemsBase.Add(value);
 }
 public InventoryWeapon(ItemsBase itemData) : base(itemData)
 {
 }
Beispiel #16
0
 /// <summary>Creates service definition that can be registered with a server</summary>
 /// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
 public static grpc::ServerServiceDefinition BindService(ItemsBase serviceImpl)
 {
     return(grpc::ServerServiceDefinition.CreateBuilder()
            .AddMethod(__Method_sendItems, serviceImpl.sendItems).Build());
 }