상속: MonoBehaviour
예제 #1
0
 public void InitSupportClasses2()
 {
     sight = this.gameObject.AddComponent <UnitSight>();
     // sight.InitSight(this, overlord, assets.sightSphere, sightRadius, mainMap.tileWidth);
     move = this.gameObject.AddComponent <UnitMovement> ();
     //  move.InitMovement(mainMap, assets, baseStats.speed, baseStats.moveCosts, tileLocation);
     selection = this.gameObject.AddComponent <UnitSelection> ();
     //selection.InitSelection (this);
 }
예제 #2
0
    public static TexSight ConvertUnitSight(UnitSight u, Camera cam)
    {
        TexSight result = default(TexSight);
        Vector3  vector = cam.WorldToScreenPoint(u.worldPos);

        result.texX  = vector.x / cam.pixelWidth * (float)PostMist.texW;
        result.texY  = vector.y / cam.pixelHeight * (float)PostMist.texH;
        result.sight = u.sight;
        result.fade  = u.fade;
        return(result);
    }
예제 #3
0
파일: Tile.cs 프로젝트: sfarmer720/STD
 void OnTriggerExit(Collider other)
 {
     //check if collideded with a unit
     if (other.gameObject.transform.parent.gameObject.layer == 11)
     {
         //Check if sight trigger
         if (other.gameObject.name == "Sight Sphere")
         {
             UnitSight us = other.gameObject.transform.parent.gameObject.GetComponent <UnitSight>();
             us.AddToLost(this.gameObject);
         }
     }
 }
예제 #4
0
 public void Pass_EnemyUnitSight(UnitSight[] sights)
 {
     if (sights == null || sights.Length < 1)
     {
         return;
     }
     for (int i = 0; i < sights.Length; i++)
     {
         UnitSight u    = sights[i];
         TexSight  item = TexSight.ConvertUnitSight(u, this.cam);
         this.sightTexs.Add(item);
     }
 }
예제 #5
0
파일: Spawner.cs 프로젝트: MaddJhin/Holdout
    IEnumerator SpawnLoop()
    {
        m_DelayFactor = 1.0f;

        Debug.Log("Checking Waves");
        foreach (Wave W in waves)
        {
            m_CurrentWave = W;
            foreach (WaveAction A in W.actions)
            {
                if (A.delay > 0)
                    yield return new WaitForSeconds(A.delay * m_DelayFactor);
                if (A.message != "")
                {
                    Debug.Log(A.message);
                }
                if (A.prefab != null && A.spawnCount > 0)
                {
                    for (int i = 0; i < A.spawnCount; i++)
                    {
                        Debug.Log("Spawning " + A.prefab);
                        GameObject obj = GenericPooler.current.GetPooledObject(A.prefab);

                        if (targetObject != null)
                        {
                            tempSight = obj.GetComponent<UnitSight>();
                            tempSight.defaultTarget = targetObject;
                        }

                        if (obj != null)
                        {
                            obj.transform.position = transform.position;
                            obj.transform.rotation = transform.rotation;
                            obj.SetActive(true);
                        }
                    }
                }

            }

            waveCounter++;
            Debug.Log("Wave Counter" + waveCounter);
            yield return null;  // prevents crash if all delays are 0
        }

        Debug.Log("Spawn Loop Complete");
        gameObject.SetActive(false);

        //m_DelayFactor *= difficultyFactor;
        yield return null;  // prevents crash if all delays are 0
    }
예제 #6
0
    protected void InitSupportClasses()
    {
        Debug.Log(baseStats.type + " | " + baseStats.moveCosts);

        //Initialize Sight Class
        sight = this.gameObject.AddComponent <UnitSight>();
        Debug.Log(this + " | " + sight + " | " + overlord + " | " + assets + " | " + mainMap + " | " + baseStats.sight);
        sight.InitSight(this, overlord, assets.sightSphere, baseStats.sight, mainMap.tileWidth);

        //Initialize Movement Class
        move = this.gameObject.AddComponent <UnitMovement> ();
        move.InitMovement(mainMap, assets, baseStats.speed, baseStats.moveCosts, tileLocation, con);

        //Initialize Selection Class
        selection = this.gameObject.AddComponent <UnitSelection> ();
        selection.InitSelection(this);

        //initialize body trigger
        bodyTrig.Init(this, mainMap);
    }
예제 #7
0
    private void ReadUnits()
    {
        List <Units> pVPUnits = this.GetPVPUnits0(this.team);

        if (pVPUnits != null && pVPUnits.Count > 0)
        {
            List <UnitSight> list = new List <UnitSight>(pVPUnits.Count);
            foreach (Units current in pVPUnits)
            {
                UnitSight item = new UnitSight(current.mTransform.position, PostMist.sight, PostMist.fade);
                list.Add(item);
            }
            if (list.Count > 0)
            {
                this.Pass_MyUnitSight(list.ToArray());
            }
        }
        this.ReadUnits2();
        this.SetTexel();
        this.SetFootPrint();
    }
예제 #8
0
    private void ReadUnits2()
    {
        if (!this.inited)
        {
            return;
        }
        TeamType teamType;

        if (this.team == TeamType.LM)
        {
            teamType = TeamType.BL;
        }
        else
        {
            teamType = TeamType.LM;
        }
        List <Units> pVPUnits = this.GetPVPUnits2(teamType);

        if (pVPUnits != null && pVPUnits.Count > 0)
        {
            List <UnitSight> list = new List <UnitSight>(pVPUnits.Count);
            foreach (Units current in pVPUnits)
            {
                Vector3 vector = this.cam.WorldToScreenPoint(current.mTransform.position);
                if (!this.MaskBy((int)vector.x, (int)vector.y, 0.02f))
                {
                    UnitSight item = new UnitSight(current.mTransform.position, PostMist.enemySight, PostMist.enemyFade);
                    list.Add(item);
                }
            }
            if (list.Count > 0)
            {
                this.Pass_EnemyUnitSight(list.ToArray());
            }
        }
    }