예제 #1
0
    private static void GetExpandParams(OrganType type, ref double a, ref double b, ref int maxAge)
    {
        switch (type)
        {
        case OrganType.Branch:
            a      = STEM_A;
            b      = STEM_B;
            maxAge = STEM_MAX_DEVELOPMENT_AGE;
            break;

        case OrganType.Leaf:
            a      = LEAF_A;
            b      = LEAF_B;
            maxAge = LEAF_MAX_DEVELOPMENT_AGE;
            break;

        case OrganType.Sheath:
            a      = SHEATH_A;
            b      = SHEATH_B;
            maxAge = SHEATH_MAX_DEVELOPMENT_AGE;
            break;

        case OrganType.Fruit:
            a      = FEMALE_A;
            b      = FEMALE_B;
            maxAge = FEMALE_MAX_DEVELOPMENT_AGE;
            break;

        default:
            a      = 1;
            b      = 1;
            maxAge = MALE_MAX_DEVELOPMENT_AGE;
            break;
        }
    }
예제 #2
0
        private List <Organization> CreatePreSchoolWithDefault(Organization School, OrganType Classroom, Guid DepartmentTypeId)
        {
            Organization newDepartment = new Organization()
            {
                Id          = Guid.NewGuid(),
                ParentId    = School.Id,
                Name        = StudentTypeEnum.PreSchool.ToString(),
                OrganTypeId = DepartmentTypeId,
                Rank        = StudentTypeEnum.PreSchool
            };

            List <Organization> DefaultClassrooms = new List <Organization>()
            {
                newDepartment
            };

            for (int i = 3; i < 6; i++)
            {
                DefaultClassrooms.Add(new Organization()
                {
                    Id = Guid.NewGuid(), ParentId = newDepartment.Id, Name = i + " Yaş", OrganType = Classroom, Capacity = 1000, Level = -1 * i, Rank = StudentTypeEnum.PreSchool
                });
            }

            _context.Organizations.AddRange(DefaultClassrooms);
            return(DefaultClassrooms);
        }
예제 #3
0
    public static NodePlacement NodePlacementForOrganType(OrganType organType)
    {
        NodePlacement nodePlacement;

        switch (organType) {
        case OrganType.Brain:
            nodePlacement = NodePlacement.Brain;
            break;
        case OrganType.Heart:
            nodePlacement = NodePlacement.Heart;
            break;
        case OrganType.Intestines:
            nodePlacement = NodePlacement.Intestines;
            break;
        case OrganType.Liver:
            nodePlacement = NodePlacement.Liver;
            break;
        case OrganType.LungLeft:
            nodePlacement = NodePlacement.LungLeft;
            break;
        case OrganType.LungRight:
            nodePlacement = NodePlacement.LungRight;
            break;
        case OrganType.Stomach:
            nodePlacement = NodePlacement.Stomach;
            break;
        default:
            nodePlacement = NodePlacement.None;
            break;
        }

        return nodePlacement;
    }
예제 #4
0
        public ReturnResult <OrganType> GetOrganTypeByID(int OrganTypeId)
        {
            var        result     = new ReturnResult <OrganType>();
            OrganType  item       = new OrganType();
            DbProvider dbProvider = new DbProvider();
            string     outCode    = String.Empty;
            string     outMessage = String.Empty;
            int        totalRows  = 0;

            try
            {
                dbProvider.SetQuery("OrganType_GET_BY_ID", CommandType.StoredProcedure)
                .SetParameter("LoaiCoQuanID", SqlDbType.Int, OrganTypeId, ParameterDirection.Input)
                .SetParameter("ErrorCode", SqlDbType.NVarChar, DBNull.Value, 100, ParameterDirection.Output)
                .SetParameter("ErrorMessage", SqlDbType.NVarChar, DBNull.Value, 4000, ParameterDirection.Output)
                .GetSingle <OrganType>(out item)
                .Complete();
            }
            catch (Exception ex)
            {
                throw;
            }
            dbProvider.GetOutValue("ErrorCode", out outCode)
            .GetOutValue("ErrorMessage", out outMessage);

            return(new ReturnResult <OrganType>()
            {
                Item = item,
                ErrorCode = outCode,
                ErrorMessage = outMessage,
                TotalRows = totalRows
            });
        }
예제 #5
0
    public ImOrgan(OrganType type, string name = "an organ")
        : base(name)
    {
        organType_ = type;

        InitSpriteComponent();
    }
예제 #6
0
        public ReturnResult <OrganType> EditOrganType(OrganType OrganType)
        {
            ReturnResult <OrganType> result;
            DbProvider db;

            try
            {
                result = new ReturnResult <OrganType>();
                db     = new DbProvider();
                db.SetQuery("OrganType_EDIT", CommandType.StoredProcedure)
                .SetParameter("LoaiCoQuanID", SqlDbType.Int, OrganType.OrganTypeID, ParameterDirection.Input)
                .SetParameter("TenLoaiCoQuan", SqlDbType.NVarChar, OrganType.OrganTypeName, 50, ParameterDirection.Input)
                .SetParameter("ErrorCode", SqlDbType.Int, DBNull.Value, ParameterDirection.Output)
                .SetParameter("ErrorMessage", SqlDbType.NVarChar, DBNull.Value, 4000, ParameterDirection.Output)
                .ExcuteNonQuery()
                .Complete();
                db.GetOutValue("ErrorCode", out string errorCode)
                .GetOutValue("ErrorMessage", out string errorMessage);
                if (errorCode.ToString() == "0")
                {
                    result.ErrorCode    = "0";
                    result.ErrorMessage = "";
                }
                else
                {
                    result.Failed(errorCode, errorMessage);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(result);
        }
예제 #7
0
 public ImOrgan OrganForType(OrganType type)
 {
     foreach (ImEntity entity in entities) {
         ImOrgan organ = entity as ImOrgan;
         if (organ.organType == type) return organ;
     }
     return null;
 }
예제 #8
0
 public OrganIndex(int Index, OrganType Type, BranchIndex From, GameObject _GameObject, int Age = 0)
 {
     m_Index      = Index;
     m_OrganType  = Type;
     m_From       = From;
     m_GameObject = _GameObject;
     m_Age        = Age;
 }
예제 #9
0
 /// <summary>
 /// 该构造函数仅用于记录数据
 /// </summary>
 public Mesh(string name, string meshPath, string texPath, float size, float maxSize, OrganType type)
 {
     m_strName        = name;
     m_strMeshPath    = meshPath;
     m_strTexturePath = texPath;
     m_fSize          = size;
     m_fMaxSize       = maxSize;
     m_Type           = type;
 }
예제 #10
0
 /// <summary>
 /// 计算库强
 /// </summary>
 private static double GetSinkStrength(OrganType type, int age, double s)
 {
     /*
      * 当年龄大于发育年龄(EXPANDS对应的长度)或小于0时,库强为0
      * 库强 = 扩展函数(EXPANDS)与潜在库强的乘积
      */
     return(age > MaizeParams.EXPANDS[(int)type].Length || age < 0 ?
            0 :
            MaizeParams.EXPANDS[(int)type][age - 1] * s);
 }
예제 #11
0
        public override void UpdatePropertiesFrom(IUpdatable sourceObject, ICloneManager cloneManager)
        {
            base.UpdatePropertiesFrom(sourceObject, cloneManager);
            var sourceOrgan = sourceObject as Organ;

            if (sourceOrgan == null)
            {
                return;
            }
            OrganType = sourceOrgan.OrganType;
        }
예제 #12
0
 public ImOrgan OrganForType(OrganType type)
 {
     foreach (ImEntity entity in entities)
     {
         ImOrgan organ = entity as ImOrgan;
         if (organ.organType == type)
         {
             return(organ);
         }
     }
     return(null);
 }
예제 #13
0
    private GameObject m_MeshModelInstance = null; //该模型的实例

    public Mesh(string name, string MeshPath, string TexturePath, float size, float MaxSize, OrganType Type, TreeModel modelEntry)
    {
        m_strName        = name;
        m_strMeshPath    = MeshPath;
        m_strTexturePath = TexturePath;
        m_fSize          = size;
        m_fMaxSize       = MaxSize;
        m_ModelEntry     = modelEntry;
        m_Type           = Type;

        MeshResource.GetInstance().Add(m_strName);
        m_iNameValue = MeshResource.GetInstance().GetValueOf(m_strName);
    }
예제 #14
0
    public void HealOrgan(OrganType organType, FailedOrgan organ)
    {
        //Update the UI
        UIManager.instance.HealOrgan(organ);

        //Remove organ from failedOrgan
        failedOrgans.Remove(organType);

        //reset orgasn health to 50
        organ.ResetOrgan();

        //Add to organs to fail
        organsToFail.Add(organType, organ);
    }
예제 #15
0
    private void AddMeshIndex(int Index, OrganType Type, BranchIndex From, GameObject _GameObject)
    {
        if (m_listOrganIndexes == null)
        {
            m_listOrganIndexes = new List <OrganIndex>();
        }

        if (Type == OrganType.Leaf)     //叶子
        {
            m_listOrganIndexes.Add(new LeafIndex(Index, From, _GameObject) as OrganIndex);
        }
        else    //其他器官
        {
            m_listOrganIndexes.Add(new OrganIndex(Index, Type, From, _GameObject));
        }
    }
예제 #16
0
    public void HealOrganIndividual(OrganType organType, FailedOrgan organ)
    {
        //Update the UI
        UIManager.instance.HealOrgan(organ);

        //Remove organ from failedOrgan
        failedOrgans.Remove(organType);

        //reset orgasn health to 50
        organ.ResetOrgan();

        //Add to organs to fail
        organsToFail.Add(organType, organ);

        //Reset Initial position so dela calculations are now wrt to this position
        ZombieSpeedManager.Instance._initialPosition = ZombieSpeedManager.Instance.FinalPosition;
    }
예제 #17
0
        private List <Organization> ClassroomWithoutBranchList(Guid ParentId, OrganType organType, int Capacity, int Rank, int LevelStart, int LevelEnd)
        {
            List <Organization> list = new List <Organization>();

            for (int i = LevelStart; i <= LevelEnd; i++)
            {
                list.Add(new Organization()
                {
                    Id        = Guid.NewGuid(),
                    ParentId  = ParentId,
                    Name      = i.ToString() + "-" + Convert.ToChar(i % 4 + 65),
                    OrganType = organType,
                    Capacity  = Capacity,
                    Level     = i,
                    Rank      = (StudentTypeEnum)Rank
                });
            }
            return(list);
        }
예제 #18
0
    public static NodePlacement NodePlacementForOrganType(OrganType organType)
    {
        NodePlacement nodePlacement;

        switch (organType)
        {
        case OrganType.Brain:
            nodePlacement = NodePlacement.Brain;
            break;

        case OrganType.Heart:
            nodePlacement = NodePlacement.Heart;
            break;

        case OrganType.Intestines:
            nodePlacement = NodePlacement.Intestines;
            break;

        case OrganType.Liver:
            nodePlacement = NodePlacement.Liver;
            break;

        case OrganType.LungLeft:
            nodePlacement = NodePlacement.LungLeft;
            break;

        case OrganType.LungRight:
            nodePlacement = NodePlacement.LungRight;
            break;

        case OrganType.Stomach:
            nodePlacement = NodePlacement.Stomach;
            break;

        default:
            nodePlacement = NodePlacement.None;
            break;
        }

        return(nodePlacement);
    }
예제 #19
0
        //TODO optimize edilecek
        private List <Organization> CreateHighSchoolWithDefault(Organization School, OrganType Classroom, Guid DepartmentTypeId)
        {
            Organization newDepartment = new Organization
            {
                Id          = Guid.NewGuid(),
                ParentId    = School.Id,
                OrganTypeId = DepartmentTypeId,
                Name        = StudentTypeEnum.HighSchool.ToString(),
                Rank        = StudentTypeEnum.HighSchool,
            };

            List <Organization> organizations = new List <Organization>()
            {
                newDepartment
            };

            organizations.AddRange(ClassroomWithoutBranchList(newDepartment.Id, Classroom, 1000, 4, 9, 12));
            _context.Organizations.AddRange(organizations);

            return(organizations);
        }
예제 #20
0
        public ReturnResult <OrganType> CreateOrganType(OrganType OrganType)
        {
            DbProvider provider     = new DbProvider();
            var        result       = new ReturnResult <OrganType>();
            string     outCode      = String.Empty;
            string     outMessage   = String.Empty;
            string     totalRecords = String.Empty;

            try
            {
                provider.SetQuery("OrganType_CREATE", System.Data.CommandType.StoredProcedure)
                .SetParameter("TenLoaiCoQuan", SqlDbType.NVarChar, OrganType.OrganTypeName, 50, ParameterDirection.Input)
                .SetParameter("ErrorCode", System.Data.SqlDbType.NVarChar, DBNull.Value, 100, System.Data.ParameterDirection.Output)
                .SetParameter("ErrorMessage", System.Data.SqlDbType.NVarChar, DBNull.Value, 4000, System.Data.ParameterDirection.Output)
                .GetSingle <OrganType>(out OrganType).Complete();

                provider.GetOutValue("ErrorCode", out outCode)
                .GetOutValue("ErrorMessage", out outMessage);

                if (outCode != "0" || outCode == "")
                {
                    result.ErrorCode    = outCode;
                    result.ErrorMessage = outMessage;
                }
                else
                {
                    result.Item         = OrganType;
                    result.ErrorCode    = outCode;
                    result.ErrorMessage = outMessage;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(result);
        }
예제 #21
0
        public ReturnResult <OrganType> DeleteOrganType(int id)
        {
            DbProvider provider     = new DbProvider();
            var        result       = new ReturnResult <OrganType>();
            string     outCode      = String.Empty;
            string     outMessage   = String.Empty;
            string     totalRecords = String.Empty;
            OrganType  item         = new OrganType();

            try
            {
                provider.SetQuery("OrganType_DELETE", CommandType.StoredProcedure)
                .SetParameter("LoaiCoQuanID", SqlDbType.Int, id, ParameterDirection.Input)
                .SetParameter("ErrorCode", SqlDbType.NVarChar, DBNull.Value, 100, System.Data.ParameterDirection.Output)
                .SetParameter("ErrorMessage", SqlDbType.NVarChar, DBNull.Value, 4000, System.Data.ParameterDirection.Output)
                .ExcuteNonQuery().Complete();

                provider.GetOutValue("ErrorCode", out outCode)
                .GetOutValue("ErrorMessage", out outMessage);

                if (outCode != "0")
                {
                    result.Failed(outCode, outMessage);
                }
                else
                {
                    result.ErrorCode    = "0";
                    result.ErrorMessage = "";
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(result);
        }
예제 #22
0
    private int GetIndexWithSameType <T>(OrganType type, BranchIndex from, out T lastIndex)
        where T : OrganIndex
    {
        int index = 0;

        lastIndex = null;

        for (int i = m_listOrganIndexes.Count - 1; i >= 0; i--)
        {
            if (m_listOrganIndexes[i].From != from)
            {
                break;
            }

            if (m_listOrganIndexes[i].Type == type)
            {
                index     = m_listOrganIndexes[i].Index + 1;
                lastIndex = m_listOrganIndexes[i] as T;
                break;
            }
        }

        return(index);
    }
예제 #23
0
        public IActionResult CreateOrganType(OrganType OrganType)
        {
            var result = loaiCoQuanBUS.CreateOrganType(OrganType);

            return(Ok(result));
        }
예제 #24
0
 public ReturnResult <OrganType> EditOrganType(OrganType organType)
 {
     return(loaiCoQuanDAL.EditOrganType(organType));
 }
예제 #25
0
    //Pick a random organ from whatever is left over
    OrganType PickRandomOrgan()
    {
        OrganType[] leftOverOrgans = new OrganType[organsToFail.Count];

        organsToFail.Keys.CopyTo(leftOverOrgans, 0);

        string debugString = "LEFTOVER ORGAS: ";

        foreach(OrganType _type in leftOverOrgans){
            debugString += _type.ToString()+ "  ";
        }

        Debug.Log(debugString);

        int upperLimit = leftOverOrgans.Length - 1;

        if(upperLimit == -1) {
            return OrganType.Length;
        }

        int organToPick = Random.Range(0, upperLimit);

        Debug.Log ("PICKING: INDEX "+organToPick+"  TYPE "+leftOverOrgans[organToPick]);
        //
        //		OrganType[] leftOverOrgans = new OrganType[organsToFail.Count];
        //
        //		organsToFail.Keys.CopyTo(leftOverOrgans, 0);
        //
        return leftOverOrgans[organToPick];
    }
예제 #26
0
    private LLinkedListNode <LTerm> _CurrentNode; //用于记录当前的节点位置
    private int GetIndexWithSameType(OrganType type, BranchIndex from)
    {
        OrganIndex lastIndex;

        return(GetIndexWithSameType <OrganIndex>(type, from, out lastIndex));
    }
예제 #27
0
 public ReturnResult <OrganType> CreateOrganType(OrganType organType)
 {
     return(loaiCoQuanDAL.CreateOrganType(organType));
 }
예제 #28
0
        public IActionResult UpdateOrganType(OrganType OrganType)
        {
            var result = loaiCoQuanBUS.EditOrganType(OrganType);

            return(Ok(result));
        }
예제 #29
0
 /// <summary>
 /// 新添加一个Mesh
 /// </summary>
 /// <param name="Name">Mesh的名字</param>
 /// <param name="MeshPath">Mesh存放的路径</param>
 /// <param name="TexturePath">Mesh纹理存放的路径</param>
 /// <param name="Size">Mesh的尺寸</param>
 /// <param name="MaxSize">Mesh的最大尺寸</param>
 public void AddMesh(string Name, string MeshPath, string TexturePath, float Size, float MaxSize, OrganType Type)
 {
     m_MeshGroup.Add(new Mesh(Name, MeshPath, TexturePath, Size, MaxSize, Type, this));
 }
예제 #30
0
파일: Organism.cs 프로젝트: valdiman/PK-Sim
 /// <summary>
 ///    Return collection of organs whose type match <c>organType</c>
 /// </summary>
 /// <param name="organType"></param>
 /// <returns></returns>
 public IEnumerable <Organ> OrgansByType(OrganType organType)
 {
     return(GetChildren <Organ>(organ => (organ.OrganType & organType) != 0));
 }
예제 #31
0
 //Called when an organ is healed
 public void OnOrganHealed(OrganType type, int scoreIncrement)
 {
     calculator.setButtonMashPoint(scoreIncrement);
 }
예제 #32
0
    public ImOrgan(OrganType type, string name = "an organ") : base(name)
    {
        organType_ = type;

        InitSpriteComponent();
    }
예제 #33
0
    public ImOrgan CorrespondingOrganInOrganLayer(ImOrganLayer organLayer)
    {
        OrganType organType = ImConfig.OrganTypeForNodePlacement(nodePlacement);

        return(organLayer.OrganForType(organType));
    }