コード例 #1
0
        private void PopulatePreviousSelections()
        {
            gridPrevSelections.Rows.Clear();
            gridPrevSelections.Rows.Add("  -- empty --");
            List <object> addedObjects = new List <object>();

            foreach (var funcParams in FunctionRunner.CachedParameters.Values)
            {
                foreach (object param in funcParams)
                {
                    if (TypeOfObject.IsInstanceOfType(param))
                    {
                        bool found = false;

                        foreach (object alreadyAddedObj in addedObjects)
                        {
                            if (alreadyAddedObj == param)
                            {
                                found = true;
                                break;
                            }
                        }
                        if (!found)
                        {
                            string name  = string.Format("{0} [{1}]", ProviderInfo.GetDisplayName(param), param.GetType().Name);
                            int    index = gridPrevSelections.Rows.Add(name);
                            gridPrevSelections.Rows[index].Tag = param;
                            addedObjects.Add(param);
                        }
                    }
                }
            }
            gridPrevSelections.Sort(gridPrevSelections.Columns[0], ListSortDirection.Ascending);
        }
コード例 #2
0
    /// <summary>
    /// Срабатывает когда игрок подбирает бафф или дебафф или что душе угодно
    /// </summary>
    /// <param name="typeOf">Что подобрал</param>
    public void PickUp(TypeOfObject typeOf)
    {
        var rnd = Random.Range(1, 7);

        switch (typeOf)
        {
        case TypeOfObject.buff:
            SpeedUpPlayer();
            _soundController.PlaySound("GoodFx_" + rnd.ToString(), false);
            break;

        case TypeOfObject.debuff:
            SpeedupDeadLine();
            _soundController.PlaySound("BadFx_" + rnd.ToString(), false);
            break;

        case TypeOfObject.bug:
            SpeedupDeadLine();
            _soundController.PlaySound("BadFx_" + rnd.ToString(), false);
            break;

        case TypeOfObject.codeStroke:
            _soundController.PlaySound("GoodFx_" + rnd.ToString(), false);
            SetCodeStrokesCount();

            break;

        default:
            break;
        }
    }
コード例 #3
0
    void OnEnable()
    {
        orc = new TypeOfObject
        {
            prefab            = Resources.Load <GameObject>("Prefabs/Orc"),
            tag               = "Orc",
            health            = 8,
            mana              = 1,
            moveSpeed         = 8f,
            sidemoveSpeed     = 6f,
            rotateSpeed       = 2f,
            jumpForce         = 20f,
            groundCheckRadius = 0.6f
        };

        elf = new TypeOfObject
        {
            prefab            = Resources.Load <GameObject>("Prefabs/Elf"),
            tag               = "Elf",
            health            = 3,
            mana              = 8,
            moveSpeed         = 8f,
            sidemoveSpeed     = 6f,
            rotateSpeed       = 2f,
            jumpForce         = 10f,
            groundCheckRadius = 0.6f
        };

        foreach (var type in TypeOfObject.types)
        {
            type.Initialize();
        }
    }
コード例 #4
0
ファイル: Dependency.cs プロジェクト: blendonluta/Conmo
 private MethodInfo[]? GetViewMethods()
 {
     if (TypeOfObject != null)
     {
         return(TypeOfObject.GetMethods().Where(method => !method.IsAbstract && !method.IsSpecialName && !method.IsPrivate).ToArray());
     }
     return(null);
 }
コード例 #5
0
        private void treeList1_NodeClick(object sender, DevComponents.AdvTree.TreeNodeMouseEventArgs e)
        {
            DevComponents.AdvTree.Node node = e.Node;

            if (node.Tag != null && TypeOfObject.IsInstanceOfType(node.Tag))
            {
                CurrentSelectedNode = node;
            }
        }
コード例 #6
0
ファイル: Dependency.cs プロジェクト: blendonluta/Conmo
 public void InitialiseProp(Property property)
 {
     TypeOfObject
     .GetProperties()
     .FirstOrDefault(pro =>
                     pro.PropertyType.Name.Equals(property.PropertyType.Name) &&
                     pro.Name.Equals(property.PropertyName))
     .SetValue(ActualObject, property.PropertyValue);
 }
コード例 #7
0
        /// <summary>
        /// Initialisation des Meta données
        /// </summary>
        private void InitMetaAnnotation()
        {
            this.MetaSelectionCriteria = (SelectionCriteriaAttribute)this.TypeOfObject.GetCustomAttribute(typeof(SelectionCriteriaAttribute));

            List <Type> ls = MetaSelectionCriteria.Criteria.ToList <Type>();

            ls.Add(TypeOfObject);
            MetaSelectionCriteria.Criteria = ls.ToArray <Type>();

            // Meta information d'affichage du de Critère
            this.MetaAffichageClasse = (AffichageClasseAttribute)TypeOfObject.GetCustomAttribute(typeof(AffichageClasseAttribute));
        }
コード例 #8
0
ファイル: Dependency.cs プロジェクト: blendonluta/Conmo
 public object?Initialise(Type generic)
 {
     Initialised = true;
     if (TypeOfObject.ContainsGenericParameters)
     {
         var genericType = TypeOfObject.MakeGenericType(new Type[] { generic });
         return(ActualObject = Activator.CreateInstance(genericType));
     }
     else
     {
         Initialised = true;
         return(ActualObject = Activator.CreateInstance(TypeOfObject));
     }
 }
コード例 #9
0
    /// <summary>
    /// Static method to create children of a DecisionNode
    /// </summary>
    /// <param name="parent"> The parent of the new node</param>
    /// <param name="spot"> The HidingSpot that is going to be represented by the DecisionNode</param>
    /// <param name="type">What type is the new DecisionNod</param>
    /// <returns> Returns the new DecisionNode, if the parent is null it will return null</returns>
    public static DecisionNode CreateChild(DecisionNode parent, HidingSpot spot, TypeOfObject type)
    {
        DecisionNode newNode = new DecisionNode(parent, spot, type);

        if (parent != null)
        {
            if (parent.Children == null)
            {
                parent.Children = new List <DecisionNode>();
            }
            parent.Children.Add(newNode);
            return(newNode);
        }
        return(null);
    }
コード例 #10
0
ファイル: Dependency.cs プロジェクト: blendonluta/Conmo
        public object?Initialise(Type generic, object parameters)
        {
            if (GetConstructorParams()?.Count < 1)
            {
                Initialised = true;
                if (TypeOfObject.ContainsGenericParameters)
                {
                    var genericType = TypeOfObject.MakeGenericType(new Type[] { generic });
                    return(ActualObject = Activator.CreateInstance(genericType));
                }
                Initialised = true;
                return(ActualObject = Activator.CreateInstance(TypeOfObject));
            }

            return(null);
        }
コード例 #11
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.tag == "PickUp" && _pickUpisCatched == false)
        {
            ///Здесь подбирается зацепленный обьект и становится дочерним
            //я всё-таки сделал с копированием объекта. Так реально получается сильно меньше кода.


            _soundController.PlaySound("HarpoonHitFx", false);
            GameObject affectedObject      = collision.gameObject;
            GameObject pickedUpObjectClone = Instantiate(affectedObject, affectedObject.transform.position, Quaternion.identity, transform);
            pickedUpObjectClone.GetComponent <ScrollingGameObject>().ScrollSpeed = 0;
            affectedObject.GetComponent <ScrollingGameObject>().SwitchVisibility();

            _moveToTarget       = false;
            _pickUpisCatched    = true;
            _typeOfCathedPickUp = affectedObject.GetComponent <ScrollingGameObject>().TypeOf;
        }
    }
コード例 #12
0
        private void AddObjectToTreeview(object obj, DevComponents.AdvTree.Node parentNode)
        {
            if (InvokeRequired)
            {
                MethodInvoker mi = delegate { AddObjectToTreeview(obj, parentNode); };
                Controller.SafeInvoke(this, mi);
                return;
            }

            string displayName = ProviderInfo.GetDisplayName(obj);

            DevComponents.AdvTree.Node node = new DevComponents.AdvTree.Node();
            node.Text = displayName;
            node.Tag  = obj;

            if (parentNode != null)
            {
                parentNode.Nodes.Add(node);
            }
            else
            {
                treeList1.Nodes.Add(node);
            }
            PropertyInfo[] properties = obj.GetType().GetProperties();

            if (properties.Length > 0)
            {
                DevComponents.AdvTree.Node tempNode = new DevComponents.AdvTree.Node();
                node.Nodes.Add(tempNode);
            }
            if (obj != null && TypeOfObject.IsInstanceOfType(obj))
            {
                node.Style = treeList1.Styles["elementStyleHighlighted"];
            }
            else
            {
                node.Style = treeList1.Styles["elementStyle1"];
            }
        }
コード例 #13
0
 /// <summary>
 /// The DecisioNode constructor is only used to create the root node in the tree
 /// </summary>
 /// <param name="parent"> The parent of the new node </param>
 /// <param name="spot"> The HidingSpot that is going to be represented by the DecisionNode</param>
 /// <param name="type"> What type is the new DecisionNode</param>
 public DecisionNode(DecisionNode parent, HidingSpot spot, TypeOfObject type)
 {
     Parent = parent;
     Spot   = spot;
     Type   = type;
 }
コード例 #14
0
ファイル: Dependency.cs プロジェクト: blendonluta/Conmo
        public object Initialise(object parameters)
        {
            Initialised = true;

            return(ActualObject = TypeOfObject.GetConstructors()[0].Invoke(TypeManipulations.ToObjectArray(parameters)));
        }
コード例 #15
0
ファイル: Dependency.cs プロジェクト: blendonluta/Conmo
        public List <Type>?GetConstructorParams()
        {
            var constructors = TypeOfObject.GetConstructors();

            return(constructors?[0]?.GetParameters().Select(parameter => parameter.ParameterType).ToList() ?? null);
        }