Example #1
0
        public void NoDatabaseSchemaWhileClassDroppingTest()
        {
            var classToDrop = new Class
            {
                ClassId = new ClassId {
                    Id = 1, Name = "Test1"
                },
                Name = "Test1"
            };

            Mock <IStorage> storage = new Mock <IStorage>();

            storage.Setup(s => s.SaveSchema(It.IsAny <IDatabaseSchema>())).Verifiable();

            Mock <Action <String, MessageLevel> > log = new Mock <Action <String, MessageLevel> >();

            DropClass dropClassStatement = new DropClass();

            Mock <ClassName> className = new Mock <ClassName>();

            className.Setup(cn => cn.Execute(It.IsAny <QueryParameters>())).Returns(new QueryDTO {
                QueryClass = classToDrop
            });
            dropClassStatement.Add(className.Object);

            QueryParameters parameters = new QueryParameters {
                Storage = storage.Object, Log = log.Object
            };
            var result = dropClassStatement.Execute(parameters);

            storage.Verify(s => s.SaveSchema(It.IsAny <IDatabaseSchema>()), Times.Never);
            Assert.AreEqual(ResultType.StringResult, result.Result.QueryResultType);
            Assert.AreEqual("Error ocured while class droping", result.Result.StringOutput);
        }
Example #2
0
    void Awake()
    {
        weaponDict = new Dictionary <string, WeaponClass>();
        foreach (WeaponClass weapon in itemBase.weapons)
        {
            if (!weaponDict.ContainsKey(weapon.itemName))
            {
                weaponDict.Add(weapon.itemName, weapon);
            }
        }

        itemDict = new Dictionary <string, ItemClass>();
        foreach (ItemClass item in itemBase.items)
        {
            if (!itemDict.ContainsKey(item.itemName))
            {
                itemDict.Add(item.itemName, item);
            }
        }

        dropDict = new Dictionary <string, GameObject>();
        foreach (GameObject dropObj in itemBase.drops)
        {
            DropClass drop = dropObj.GetComponent <DropClass>();
            if (drop != null ? drop.item != null ? !dropDict.ContainsKey(drop.item.itemName) : false : false)
            {
                dropDict.Add(drop.item.itemName, dropObj);
            }
        }
    }
    public override void Compare(UnityEngine.Object obj)
    {
        DropClass drop = (DropClass)obj;

        if (drop.gameObject.name.Contains(dropName))
        {
            value++;
        }
    }
 public DropInfo(DropClass drop)
 {
     position = drop.transform.position;
     itemName = drop.item != null?drop.item.itemName:string.Empty;
     if (drop.gameObject.name.Contains("ItemDrop"))
     {
         customDrop = true;
     }
 }
Example #5
0
    /// <summary>
    /// Функция, собирающая информацию о текущем состояние всей игры (на данном уровне). Может собирать информацию о текущем уровне, а может об игре в целом -
    /// в зависимости от параметра general
    /// </summary>
    /// <returns></returns>
    GameData GetGameData(bool general, int cNumber)
    {
        GameData _gData = new GameData();

        if (general)
        {
            _gData.ResetLevelData();
            _gData.SetGeneralGameData(cNumber, SpecialFunctions.player.GetComponent <HeroController>());
        }
        else
        {
            GameObject[]     dropObjs      = GameObject.FindGameObjectsWithTag("drop");
            GameObject[]     heartDropObjs = GameObject.FindGameObjectsWithTag("heartDrop");
            List <DropClass> drops         = new List <DropClass>();
            foreach (GameObject dropObj in dropObjs)
            {
                DropClass drop = dropObj.GetComponent <DropClass>();
                if (drop != null)
                {
                    drops.Add(drop);
                }
            }
            foreach (GameObject dropObj in heartDropObjs)
            {
                DropClass drop = dropObj.GetComponent <DropClass>();
                if (drop != null)
                {
                    drops.Add(drop);
                }
            }

            GetLists(false);
            List <EnemyData>    enInfo  = new List <EnemyData>();
            List <InterObjData> intInfo = new List <InterObjData>();
            List <NPCData>      npcInfo = new List <NPCData>();

            foreach (AIController monster in monsters)
            {
                enInfo.Add(monster.GetAIData());
            }

            foreach (GameObject intObject in intObjects)
            {
                intInfo.Add(intObject.GetComponent <IHaveID>().GetData());
            }

            foreach (NPCController npc in NPCs)
            {
                npcInfo.Add((NPCData)npc.GetData());
            }

            _gData.SetLevelData(cNumber, SpecialFunctions.player.GetComponent <HeroController>(), drops, GetComponent <GameHistory>().history,
                                GetComponent <GameStatistics>(), enInfo, intInfo, npcInfo);
        }
        return(_gData);
    }
Example #6
0
        public void ClassDosentExistsTest()
        {
            var classToDrop = new Class
            {
                ClassId = new ClassId {
                    Id = 1, Name = "Test1"
                },
                Name = "Test1"
            };

            var otherClass = new Class
            {
                ClassId = new ClassId {
                    Id = 2, Name = "Test2"
                },
                Name = "Test2"
            };

            var classes = new ConcurrentDictionary <ClassId, Class>();

            classes.TryAdd(otherClass.ClassId, otherClass);

            Mock <IDatabaseParameters> database = new Mock <IDatabaseParameters>();

            database.Setup(d => d.Schema.Classes).Returns(classes);

            Mock <IStorage> storage = new Mock <IStorage>();

            storage.Setup(s => s.SaveSchema(It.IsAny <IDatabaseSchema>())).Verifiable();

            Mock <Action <String, MessageLevel> > log = new Mock <Action <String, MessageLevel> >();

            DropClass dropClassStatement = new DropClass();

            Mock <ClassName> className = new Mock <ClassName>();

            className.Setup(cn => cn.Execute(It.IsAny <QueryParameters>())).Returns(new QueryDTO
            {
                Result = new DTOQueryResult
                {
                    QueryResultType = ResultType.StringResult,
                    StringOutput    = "No class"
                },
                QueryClass = classToDrop
            });
            dropClassStatement.Add(className.Object);

            QueryParameters parameters = new QueryParameters {
                Database = database.Object, Storage = storage.Object, Log = log.Object
            };
            var result = dropClassStatement.Execute(parameters);

            storage.Verify(s => s.SaveSchema(It.IsAny <IDatabaseSchema>()), Times.Never);
            Assert.AreEqual(ResultType.StringResult, result.Result.QueryResultType);
            Assert.AreEqual("No class with name: " + classToDrop.Name, result.Result.StringOutput);
        }
Example #7
0
    /// <summary>
    /// Функция, что превращает обычный игровой объект в дроп
    /// </summary>
    public static void AddDrop(GameObject obj, DropClass drop)
    {
        obj.tag = "drop";
        Sprite        sprite = drop.item.itemImage;
        BoxCollider2D col    = obj.AddComponent <BoxCollider2D>();

        col.size = sprite.textureRect.size / sprite.pixelsPerUnit;
        obj.AddComponent <Rigidbody2D>();
        obj.AddComponent <SpriteRenderer>().sprite = sprite;
        DropClass _drop = obj.AddComponent <DropClass>();

        _drop.item = drop.item;
    }
Example #8
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.gameObject.tag == "Drop")
        {
            Debug.Log("spear hit drop");

            AudioPlayer.main.playSFX("sfx_stab");

            drop      = collision.gameObject.GetComponent <DropSpawn>();
            dropClass = drop.dropClass;

            inventory.AddToSkewer(0, dropClass);
            collision.gameObject.active = false;
        }
    }
Example #9
0
 public void AddToSkewer(int num, DropClass dropClass)
 {
     if (num >= 0 && num <= 2)
     {
         quiver[num].Push(dropClass);
         Debug.Log("Added to skewer. Current status: ");
         foreach (DropClass item in quiver[num])
         {
             print(item);
         }
     }
     else
     {
         Debug.Log("Error: Invalid skewer number");
     }
 }
Example #10
0
 protected void Page_Load(object sender, EventArgs e)
 {
     Label1.Text = "你好," + (string)Session["pass"];
     if (!IsPostBack)
     {
         String         sqlconn      = "Data Source=DESKTOP-D8SO2KF;Initial Catalog=App_Data;Integrated Security=true";
         SqlConnection  myconnection = new SqlConnection(sqlconn);
         SqlDataAdapter da           = new SqlDataAdapter("select id from message", myconnection);
         DataSet        ds           = new DataSet();
         da.Fill(ds);
         DropClass.DataSource    = ds.Tables[0].DefaultView;
         DropClass.DataTextField = "id";
         DropClass.DataBind();
         DropClass.Items.Add("管理员");
         myconnection.Close();
     }
 }
Example #11
0
        public override IQueryElement VisitDrop_stmt([NotNull] QueryGrammarParser.Drop_stmtContext context)
        {
            if (context.K_CLASS() != null)
            {
                DropClass dropClass = new DropClass();

                IQueryElement className = Visit(context.class_name());
                dropClass.Add(className);
                return(dropClass);
            }
            else if (context.K_INTERFACE() != null)
            {
                DropInterface dropInterface = new DropInterface();

                IQueryElement className = Visit(context.class_name());
                dropInterface.Add(className);
                return(dropInterface);
            }

            throw new SyntaxException("Unsupported object type.");
        }
Example #12
0
        public void RemoveClassTest()
        {
            Property property1 = new Property {
                Type = Property.INT, PropertyId = new PropertyId {
                    Id = 1
                }
            };
            Property property2 = new Property {
                Type = Property.STRING, PropertyId = new PropertyId {
                    Id = 2
                }
            };
            Property property3 = new Property {
                Type = Property.INT, PropertyId = new PropertyId {
                    Id = 3
                }
            };
            var properties = new ConcurrentDictionary <PropertyId, Property>();

            properties.TryAdd(property1.PropertyId, property1);
            properties.TryAdd(property2.PropertyId, property2);
            properties.TryAdd(property3.PropertyId, property3);


            var classToDrop = new Class
            {
                ClassId = new ClassId {
                    Id = 1, Name = "Test1"
                },
                Name = "Test1"
            };

            var otherClass = new Class
            {
                ClassId = new ClassId {
                    Id = 2, Name = "Test2"
                },
                Name = "Test2"
            };

            var classes = new ConcurrentDictionary <ClassId, Class>();

            classes.TryAdd(classToDrop.ClassId, classToDrop);
            classes.TryAdd(otherClass.ClassId, otherClass);

            Mock <IDatabaseParameters> database = new Mock <IDatabaseParameters>();

            database.Setup(d => d.Schema.Classes).Returns(classes);
            var classProperties = new List <Property>()
            {
                property1, property2
            };

            database.Setup(d => d.Schema.ClassProperties(It.Is <Class>(cl => cl.ClassId.Id == 1))).Returns(classProperties);
            database.Setup(d => d.Schema.Properties).Returns(properties);

            Mock <IStorage> storage = new Mock <IStorage>();

            storage.Setup(s => s.SaveSchema(It.IsAny <IDatabaseSchema>())).Verifiable();

            Mock <Action <String, MessageLevel> > log = new Mock <Action <String, MessageLevel> >();

            DropClass dropClassStatement = new DropClass();

            Mock <ClassName> className = new Mock <ClassName>();

            className.Setup(cn => cn.Execute(It.IsAny <QueryParameters>())).Returns(new QueryDTO {
                QueryClass = classToDrop
            });
            dropClassStatement.Add(className.Object);

            QueryParameters parameters = new QueryParameters {
                Database = database.Object, Storage = storage.Object, Log = log.Object
            };
            var result = dropClassStatement.Execute(parameters);

            storage.Verify();
            Assert.AreEqual(ResultType.StringResult, result.Result.QueryResultType);
            Assert.AreEqual("Class:" + classToDrop.Name + " droped.", result.Result.StringOutput);
        }