Пример #1
0
 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;
         }
     }
 }
Пример #2
0
 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);
 }