public void AddCollider(GameObject unitsObj, GameObject colObj) { if (!this.mMoveUnitsMap.ContainsKey(unitsObj)) { Units component = unitsObj.GetComponent <Units>(); if (component != null) { if (component.isHome) { return; } CombinationUnit component2 = colObj.GetComponent <CombinationUnit>(); BoxCollider component3 = colObj.GetComponent <BoxCollider>(); if (component2 != null && component3 != null && component2.index == 0) { float num = component3.size.z / 2f; Vector3 position = colObj.transform.position; Vector3 forward = colObj.transform.forward; Vector3 position2 = unitsObj.transform.position; Vector3 lhs = position2 - position; float sqrMagnitude = lhs.sqrMagnitude; lhs.Normalize(); float num2 = Vector3.Dot(lhs, forward); if (sqrMagnitude > num * 0.9f && num2 < -0.9f) { return; } } this.mMoveUnitsMap.Add(unitsObj, colObj); this.mTimeElaspedOpen = true; } } }
private void OnEnable() { if (Application.isPlaying) { return; } this.isStop = false; this.ClearAll(); for (int i = 0; i < this.count; i++) { GameObject gameObject = UnityEngine.Object.Instantiate(this.Prefab, Vector3.zero, base.transform.rotation) as GameObject; base.gameObject.AddComponent(gameObject.GetType()); if (gameObject) { gameObject.name += i; } gameObject.layer = LayerMask.NameToLayer("SkillObstacle"); gameObject.transform.parent = base.transform; CombinationUnit combinationUnit = gameObject.AddComponent <CombinationUnit>(); combinationUnit.Init(this, i); gameObject.transform.localPosition = new Vector3(0f, 0f, this.width * (float)i); this.CombinationUnitList.Add(combinationUnit); } }
public void Subscribe(CombinationUnit unit) { units.Add(unit); }