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; } } } }
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"); } } }
private void CollectGrass(GrassComponent grass) { if (grass.isActive) { grass.isActive = false; points+=grass.Points; GameManager.Instance.RemoveGrass(grass); Destroy(grass.gameObject); } }
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)); }