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); }
/// <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; } }
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(); } }
private MethodInfo[]? GetViewMethods() { if (TypeOfObject != null) { return(TypeOfObject.GetMethods().Where(method => !method.IsAbstract && !method.IsSpecialName && !method.IsPrivate).ToArray()); } return(null); }
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; } }
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); }
/// <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)); }
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)); } }
/// <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); }
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); }
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; } }
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"]; } }
/// <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; }
public object Initialise(object parameters) { Initialised = true; return(ActualObject = TypeOfObject.GetConstructors()[0].Invoke(TypeManipulations.ToObjectArray(parameters))); }
public List <Type>?GetConstructorParams() { var constructors = TypeOfObject.GetConstructors(); return(constructors?[0]?.GetParameters().Select(parameter => parameter.ParameterType).ToList() ?? null); }