当前位置: 首页>>代码示例>>C#>>正文


C# Tile.getLandType方法代码示例

本文整理汇总了C#中Tile.getLandType方法的典型用法代码示例。如果您正苦于以下问题:C# Tile.getLandType方法的具体用法?C# Tile.getLandType怎么用?C# Tile.getLandType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Tile的用法示例。


在下文中一共展示了Tile.getLandType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: performMove

    private void performMove(Unit unit, Tile dest)
    {
        dest.gameObject.networkView.RPC ("setOccupyingUnitNet", RPCMode.AllBuffered, unit.gameObject.networkView.viewID);
        unit.gameObject.networkView.RPC ("setLocationNet", RPCMode.AllBuffered, dest.gameObject.networkView.viewID);
        Village srcVillage = unit.getVillage ();
        UnitType srcUnitType = unit.getUnitType();
        LandType destLandType = dest.getLandType ();

        if (destLandType == LandType.Meadow)
        {
            if (srcUnitType==UnitType.CANNON||srcUnitType==UnitType.SOLDIER||srcUnitType==UnitType.KNIGHT)
            {
                if (dest.hasRoad)
                {
                    unit.gameObject.networkView.RPC("setActionNet",RPCMode.AllBuffered,(int)UnitActionType.Moved);
                }
                else
                {
                    gameGUI.displayError (@"You have trampled the crops!");
                    dest.gameObject.networkView.RPC ("setLandTypeNet",RPCMode.AllBuffered,(int)LandType.Grass);
                    dest.gameObject.networkView.RPC ("destroyPrefab",RPCMode.AllBuffered);
                }
                if (srcUnitType == UnitType.CANNON)
                {
                    unit.gameObject.networkView.RPC("setActionNet",RPCMode.AllBuffered,(int)UnitActionType.CannonMoved);
                }
            }
        }
        else if (destLandType == LandType.Trees)
        {
            dest.gameObject.networkView.RPC ("setLandTypeNet",RPCMode.AllBuffered,(int)LandType.Grass);
            unit.gameObject.networkView.RPC("setActionNet",RPCMode.AllBuffered,(int)UnitActionType.ChoppingTree);
            srcVillage.gameObject.networkView.RPC ("addWoodNet",RPCMode.AllBuffered,1);
            dest.gameObject.networkView.RPC ("destroyPrefab",RPCMode.AllBuffered);
        }
        else if (destLandType == LandType.Tombstone)
        {
            dest.gameObject.networkView.RPC ("setLandTypeNet",RPCMode.AllBuffered,(int)LandType.Grass);
            unit.gameObject.networkView.RPC("setActionNet",RPCMode.AllBuffered,(int)UnitActionType.ClearingTombstone);
            dest.gameObject.networkView.RPC ("destroyPrefab",RPCMode.AllBuffered);
        }
        //movePrefab (unit,new Vector3 (dest.point.x, 0.15f,dest.point.y));
        this.gameObject.networkView.RPC ("moveUnitPrefabNet", RPCMode.AllBuffered, unit.networkView.viewID, new Vector3 (dest.point.x, 0.15f, dest.point.y));
    }
开发者ID:hysoftwareeng,项目名称:MedievalWarfare,代码行数:44,代码来源:UnitManager.cs

示例2: canUnitMove

 private bool canUnitMove(Unit u, Tile t)
 {
     // castle check
     foreach (Tile n in t.getNeighbours()) {
         try{
             Village v = n.getVillage ();
             VillageType vt = v.getMyType();
             Player them = v.getPlayer ();
             Player you = u.getVillage().getPlayer ();
             if (them!=you && vt==VillageType.Castle){
                 gameGUI.displayError (@"I cant even get near to their castle!");
                 return false;
             }
         } catch {
             continue;
         }
     }
     // friendly checks
     if (t.getVillage ()==null || t.getVillage ().controlledBy == u.getVillage ().controlledBy) {
         if((t.getLandType () == LandType.Trees || t.getLandType () == LandType.Tombstone) && (u.getUnitType() == UnitType.KNIGHT || u.getUnitType() == UnitType.CANNON)){
             gameGUI.displayError (@"Knights are too fancy to do manual labour. ¯\(°_o)/¯");
             return false;
         } else if (t.checkTower ()){
             gameGUI.displayError (@"The tower doesn't want you to stand ontop of it. ¯\(°_o)/¯");
             return false;
         } else if (t.getOccupyingUnit () != null) {
             gameGUI.displayError (@"There is a unit already standing there!!! ¯\(°_o)/¯");
             return false;
         } else {
             return true;
         }
         // enemy checks
     } else if (t.getVillage ().controlledBy != u.getVillage ().controlledBy){
         if (u.getUnitType()==UnitType.PEASANT){
             gameGUI.displayError (@"Peasants cant attack! ¯\(°_o)/¯");
             return false;
         } else if (u.getUnitType()==UnitType.CANNON){
             gameGUI.displayError (@"Cannons cant move into enemy territory");
             return false;
         } else if((t.getLandType () == LandType.Trees || t.getLandType () == LandType.Tombstone) && u.getUnitType() == UnitType.KNIGHT){
             gameGUI.displayError (@"Knights are too fancy to do manual labour. ¯\(°_o)/¯");
             return false;
         } else if (t.checkTower () == true && (u.getUnitType()!= UnitType.KNIGHT || u.getUnitType () != UnitType.SOLDIER)){
             gameGUI.displayError (@"Only a soldiers and knights can destroy an enemy tower. ¯\(°_o)/¯");
             return false;
         } else if (t.getOccupyingUnit()!=null && u.getUnitType()<=t.getOccupyingUnit().getUnitType()){
             if (t.getOccupyingUnit().getUnitType()==UnitType.CANNON && u.getUnitType()<=UnitType.SOLDIER){
                 gameGUI.displayError (@"You need a knight to take out their cannon");
                 return false;
             }
             gameGUI.displayError (@"Your unit cant fight theirs. ¯\(°_o)/¯");
             return false;
         } else {
             return true;
         }
     }
     //default
     return false;
 }
开发者ID:hysoftwareeng,项目名称:MedievalWarfare,代码行数:59,代码来源:UnitManager.cs


注:本文中的Tile.getLandType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。