Browse Source

feat: add upload_deploy.yml

tags/0.1.0
shangfengh 2 years ago
parent
commit
8f3a7a5774
5 changed files with 90 additions and 17 deletions
  1. +78
    -0
      .github/workflows/upload_deploy.yml
  2. +6
    -0
      logic/GameClass/GameObj/Character/Character.Student.cs
  3. +1
    -13
      logic/GameClass/GameObj/Character/Character.cs
  4. +1
    -1
      logic/Gaming/CharacterManager .cs
  5. +4
    -3
      logic/Gaming/SkillManager/SkillManager.ActiveSkill.cs

+ 78
- 0
.github/workflows/upload_deploy.yml View File

@@ -0,0 +1,78 @@
name: "upload_deploy"

###############################################################################
# This ci is skipped in THUAI6 for THUAI6 use cloud disk to distribute.
# To use automatically distribution, comment out `if: false` in the following
# two jobs.
###############################################################################

on:
push:
branches: [ master, dev ]

jobs:
build_upload:
runs-on: windows-latest
if: false # Skip this job
steps:
- uses: actions/checkout@v1

- name: Install SSH
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_PRIVATE_KEY }}
known_hosts: 127.0.0.1
- name: Setup dotnet Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.x
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: '3.9.2'
architecture: 'x64'
- name: Git Submodule
run: git submodule update --init --recursive

- name: Pip Install paramiko
run: pip install paramiko

- name: Publish
run: |
New-Item -Path . -Name "THUAI6" -ItemType "directory"
cmd /c ./dependency/shell/publish.cmd
python ./dependency/py/upload.py --id 118.195.131.159 --key ${{ secrets.SERVER_PASSWORD }} CAPI THUAI6

deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: make directory
run: mkdir ./Server

- name: Log in to DockerHub
run: docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}

- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.x

- name: Git Submodule
run: pushd ./CAPI && git submodule update --init --recursive && popd

- name: Build CAPI_compile docker image
run: docker build -t ${{ secrets.DOCKER_USERNAME }}/thuai6_compiler:latest -f ./dependency/Dockerfile/Dockerfile_compile .
- name: Push CAPI_compile image to DockerHub
run: docker push ${{ secrets.DOCKER_USERNAME }}/thuai6_compiler:latest

- name: Publish server
run: dotnet publish "./logic/Server/Server.csproj" -c Release -r linux-x64 --self-contained true -o ./Server
- name: Build runner docker image
run: docker build -t ${{ secrets.DOCKER_USERNAME }}/thuai6_runner:latest -f ./dependency/Dockerfile/Dockerfile_run .
- name: Push runner image to DockerHub
run: docker push ${{ secrets.DOCKER_USERNAME }}/thuai6_runner:latest

+ 6
- 0
logic/GameClass/GameObj/Character/Character.Student.cs View File

@@ -141,6 +141,12 @@ namespace GameClass.GameObj
}
}
}
public override void AddScore(int add)
{
if (parent == null)
base.AddScore(add);
else parent.AddScore(add);
}
public Golem(XY initPos, int initRadius, Character? parent) : base(initPos, initRadius, CharacterType.Robot)
{
this.parent = parent;


+ 1
- 13
logic/GameClass/GameObj/Character/Character.cs View File

@@ -349,7 +349,7 @@ namespace GameClass.GameObj
/// 加分
/// </summary>
/// <param name="add">增加量</param>
public void AddScore(int add)
public virtual void AddScore(int add)
{
lock (gameObjLock)
{
@@ -357,18 +357,6 @@ namespace GameClass.GameObj
//Debugger.Output(this, " 's score has been added to: " + score.ToString());
}
}
/// <summary>
/// 减分
/// </summary>
/// <param name="sub">减少量</param>
public void SubScore(int sub)
{
lock (gameObjLock)
{
score -= sub;
Debugger.Output(this, " 's score has been subed to: " + score.ToString());
}
}

/// <summary>
/// 角色所属队伍ID


+ 1
- 1
logic/Gaming/CharacterManager .cs View File

@@ -155,7 +155,7 @@ namespace Gaming
newPlayer.AddBgm(BgmType.GhostIsComing, (double)newPlayer.AlertnessRadius / XY.Distance(newPlayer.Position, person.Position));
else newPlayer.AddBgm(BgmType.GhostIsComing, 0);
}
if (newPlayer.CharacterType != CharacterType.Teacher && !newPlayer.NoHp() && newPlayer.PlayerState != PlayerStateType.Stunned && XY.Distance(newPlayer.Position, person.Position) <= GameData.PinningDownRange)
if (newPlayer.CharacterType != CharacterType.Teacher && newPlayer.CharacterType != CharacterType.Robot && !newPlayer.NoHp() && newPlayer.PlayerState != PlayerStateType.Stunned && XY.Distance(newPlayer.Position, person.Position) <= GameData.PinningDownRange)
{
TimePinningDown += GameData.checkInterval;
newPlayer.AddScore(GameData.StudentScorePinDown(TimePinningDown) - ScoreAdded);


+ 4
- 3
logic/Gaming/SkillManager/SkillManager.ActiveSkill.cs View File

@@ -103,14 +103,15 @@ namespace Gaming
{ });
}

public static bool UseRobot(Character player)
public bool UseRobot(Character player)
{
IGolem? golem = (IGolem?)(((SummonGolem)player.FindIActiveSkill(ActiveSkillType.SummonGolem)).GolemSummoned);
Debugger.Output(player, (golem != null).ToString());
if ((!player.Commandable()) || ((SummonGolem)player.FindIActiveSkill(ActiveSkillType.SummonGolem)).GolemSummoned == null) return false;
Debugger.Output(player, player.PlayerID.ToString());
Debugger.Output(player, "use robot!");
IActiveSkill activeSkill = player.FindIActiveSkill(ActiveSkillType.UseRobot);
activeSkill.IsBeingUsed = (activeSkill.IsBeingUsed) ? false : true;
if (activeSkill.IsBeingUsed) characterManager.SetPlayerState(player, PlayerStateType.UsingSkill);
else characterManager.SetPlayerState(player);
return true;
}



Loading…
Cancel
Save