Пример #1
0
    public override void FixedUpdate(int deltaTime)
    {
        List <EntityBase> list = GetEntityList();

        for (int i = 0; i < list.Count; i++)
        {
            PlayerComponent    pc = (PlayerComponent)list[i].GetComp("PlayerComponent");
            CollisionComponent cc = (CollisionComponent)list[i].GetComp("CollisionComponent");

            pc.isCloak = false;
            pc.grassID = -1;

            for (int j = 0; j < cc.CollisionList.Count; j++)
            {
                EntityBase entityTmp = cc.CollisionList[j];
                if (entityTmp.GetExistComp("GrassComponent"))
                {
                    GrassComponent gc = (GrassComponent)entityTmp.GetComp("GrassComponent");

                    pc.isCloak = true;
                    pc.grassID = gc.Entity.ID;
                }
            }
        }
    }
Пример #2
0
    void InitGrass()
    {
        string content = FileTool.ReadStringByFile(Environment.CurrentDirectory + "/Map/GrassData.txt");

        string[] contentArray = content.Split('\n');

        for (int i = 0; i < contentArray.Length; i++)
        {
            if (contentArray[i] != "")
            {
                SyncComponent sc = new SyncComponent();

                Area           aera = deserializer.Deserialize <Area>(contentArray[i]);
                GrassComponent gc   = new GrassComponent();

                CollisionComponent cc = new CollisionComponent();
                cc.area     = aera;
                cc.isStatic = true;

                m_world.CreateEntityImmediately("Grass" + i, gc, cc, sc);

                //Debug.Log("Create Grass");
            }
        }
    }
Пример #3
0
	private void CollectGrass(GrassComponent grass)
	{
        if (grass.isActive)
        {
            grass.isActive = false;
            points+=grass.Points;
            GameManager.Instance.RemoveGrass(grass);
            Destroy(grass.gameObject);

        }
	}
Пример #4
0
 public void RemoveGrass(GrassComponent grass)
 {
     NetworkManager.Instance.RPC("RemoveGrass", RPCMode.Others, grass.Position.x, grass.Position.y);
     listGrass.Remove(listGrass.Find(x => x.Position == grass.Position));
 }