Пример #1
0
 private void SetFloorCore()
 {
     //SetFloorType();
     bool IsPlayer = CmCarbon.GetCamp2Player(LifeMCamp.DEFENSE);
     m_Core = new LifeMCore(NdUtil.GetSceneID(), IsPlayer, LifeMType.FLOOR, LifeMCamp.DEFENSE, MoveState.Static);
     SetLifeCore(m_Core);
     m_Attr = new FloorAttribute();
     m_Attr.Init(SceneID, m_Core, this);
 }
Пример #2
0
        public void ApplyTransform_StringField_ExeptionThrown()
        {
            var record = new MockRecord()
            {
                StringField = "10"
            };
            var property       = typeof(MockRecord).GetProperty(nameof(MockRecord.StringField));
            var FloorAttribute = new FloorAttribute();

            FloorAttribute.ApplyTransform(property, record);
        }
Пример #3
0
        public void ApplyTransform_IntField_ExceptionIsThrown()
        {
            var record = new MockRecord()
            {
                IntField = 10
            };
            var property       = typeof(MockRecord).GetProperty(nameof(MockRecord.IntField));
            var FloorAttribute = new FloorAttribute();

            FloorAttribute.ApplyTransform(property, record);
        }
Пример #4
0
        public void ApplyTransform_DecimalField1_FloorAppliedToProperty()
        {
            var record = new MockRecord()
            {
                DecimalField = 10m
            };
            var property       = typeof(MockRecord).GetProperty(nameof(MockRecord.DecimalField));
            var FloorAttribute = new FloorAttribute();

            FloorAttribute.ApplyTransform(property, record);

            Assert.AreEqual(10m, record.DecimalField);
        }
Пример #5
0
        public void ApplyTransform_NullableDoubleField_FloorAppliedToProperty()
        {
            var record = new MockRecord()
            {
                NullableDoubleField = 10.1d
            };
            var property       = typeof(MockRecord).GetProperty(nameof(MockRecord.NullableDoubleField));
            var FloorAttribute = new FloorAttribute();

            FloorAttribute.ApplyTransform(property, record);

            Assert.AreEqual(10d, record.NullableDoubleField);
        }
Пример #6
0
    public override void SetCore()
    {
        bool IsPlayer = CmCarbon.GetCamp2Player(LifeMCamp.DEFENSE);

        m_Core = new LifeMCore(NdUtil.GetSceneID(), IsPlayer, LifeMType.WALL, LifeMCamp.DEFENSE, MoveState.Static);
        SetLifeCore(m_Core);

        m_Attr = new FloorAttribute();
        m_Attr.Init(SceneID, m_Core, this);
        m_Attr.StartPos = new Int2(StartUnit, Layer);

        HP = fullHP;
    }
Пример #7
0
    private Tile GetTileFromFloorAttribute(FloorAttribute attr)
    {
        string name = null;

        switch (attr.kind)
        {
        case FloorAttributeKind.WALL:
            name = "Wall";
            break;

        case FloorAttributeKind.HARD_WALL:
            name = "HardWall";
            break;

        case FloorAttributeKind.ROOM:
            name = "Room";
            break;

        case FloorAttributeKind.PASSAGE:
            name = "Passage";
            break;
        }
        return(Resources.Load($"Tiles/{name}") as Tile);
    }
Пример #8
0
    //TODO: Determine Unity Pro / Free version and use Transparent/Cutout/Diffuse if pro otherwise
    //use Diffuse in material

    GameObject CreateRoom(Mesh mesh, Vector3 position, int roomidx, Material material, FloorAttribute floor_attribute)
    {
        MeshModifier.CullAlphaFace(ref mesh, m_LevelTextureTile);

        GameObject go       = new GameObject("room" + roomidx);
        Renderer   renderer = go.AddComponent <MeshRenderer>();
        MeshFilter mf       = go.AddComponent <MeshFilter>();

        mf.mesh = mesh;

        go.transform.position   = position;
        go.transform.rotation   = Quaternion.identity;
        renderer.sharedMaterial = material;

        //renderer.material.mainTexture = m_LevelTextureTile;
        //renderer.material.color = new Color(1f, 1f, 1f, 1.0f);
        renderer.castShadows = !Settings.EnableIndoorShadow;
        //renderer.material.SetTexture("_BumpMap", Bumptex);*/


        if (floor_attribute != FloorAttribute.Water)
        {
            //check for inertia tensor calculation!
            if (mesh.bounds.extents.y == 0 || mesh.bounds.extents.x == 0 || mesh.bounds.extents.z == 0)
            {
                BoxCollider cldr = go.AddComponent <BoxCollider>();
                cldr.isTrigger = true;
            }
            else
            {
#if (UNITY_5_3_OR_NEWER || UNITY_5_3)
                MeshCollider cldr = go.AddComponent <MeshCollider>();
                //room mesh tends to be concave, MeshCollider can not be used as trigger for this kind of mesh in unity 5.3 or higher
                cldr.isTrigger = false;
#else
                MeshCollider cldr = go.AddComponent <MeshCollider>();
                cldr.isTrigger = true;
#endif
            }
        }
        else
        {
            //go.AddComponent<WaterEffect>(); //no need to WaterEffect.cs for each water surface. use a global Water Effect Controller instead
        }

        /*Rigidbody rb = go.AddComponent<Rigidbody>();
         *      rb.isKinematic = true;
         *      rb.useGravity = false;*/

        //go.AddComponent<RoomCollision>();
        return(go);
    }